Доброго времени суток! Есть небольшой сайт - самопис. На главной странице выводятся новости из БД. И есть скрипт, который это делает. Но появился вопрос: как прикрутить к этому скрипту стили? Т.е. выводить новости по определенному шаблону. Скрипт вывода: Code: <?php include ('auth.php'); /* Определяем количество сообщений на странице */ $lim = "10"; @$page = $_GET['page']; /* Меняем table на название вашей таблицы и не забываем указывать дополнительные параметры выборки (если они у вас есть) */ $res = mysql_query("SELECT COUNT(*) FROM news ORDER BY"); $row = mysql_fetch_array($res); $posts = $row[0]; $str = ceil($posts/$lim); if(empty($page) or $page < 0) $page = 1; if($page > $str) $page = $str; $start = $page * $lim - $lim; /* Дальше подставляете свой код вывода данных из базы в цикле, но обязательно укажите LIMIT $start, $lim */ $result = mysql_query("SELECT name,text FROM news ORDER BY DESC LIMIT $start, $lim",$db); $myrow = mysql_fetch_array($result); $n=mysql_num_rows($result); echo "<table border=0>"; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo "<tr><td><b>",mysql_result($result,$i,name), "</b></td><td>",mysql_result($result,$i,text), "</td></tr>"; echo "</table>"; {printf ("<p>%s</p>",$myrow["title"]);} while ($myrow = mysql_fetch_array ($result)); /* Дальше все остается без изменений */ echo '<a href=?page='. ($page - 1) .'>Назад</a> '; $i=1; while ($i <= $str) { if ($i==$page) {echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';} else {echo '<a href=?page='.$i.'>'.$i.'</a> ';} $i = $i+1; } echo ' <a href=?page='. ($page + 1) .'>Вперед</a>'; ?> Как следует выводить: Code: <tr valign="top"> <td class="bgGrey4"><div class="dotBigArr2"><img src="images/big_ar_1.gif" alt="" width="23" border="0" height="15"></div></td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="10" border="0" height="1"></td> <td class="bgGrey4"> <div class="redTitle">$name</div> <div style="margin: 10px 0px;">$text</div> </td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="30" border="0" height="1"></td> </tr> Понятно, что нужно копать в Code: echo "<table border=0>"; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo "<tr><td><b>",mysql_result($result,$i,name), "</b></td><td>",mysql_result($result,$i,text), "</td></tr>"; echo "</table>"; но все время выдает ошибку. Подскажите, как же сделать, либо дайте пожалуйста ссылку на подобную тему, если она уже была. Заранее спасибо за помощь.
засунь весь html в строковые переменные и меняй их как тебе нужно, вот тебе и вывод в разных шаблонах. P.S. Не написал какую ощибку выдаёт. Да и вообще html засунь в tpl и инклудь нужный шаблон, мешать код и html - нетрушно...
Т.е. сделать так? Code: echo "<table border=0>"; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo "<tr valign="top"> <td class="bgGrey4"><div class="dotBigArr2"><img src="images/big_ar_1.gif" alt="" width="23" border="0" height="15"></div></td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="10" border="0" height="1"></td> <td class="bgGrey4"> <div class="redTitle">",mysql_result($result,$i,date), "</div> <div style="margin: 10px 0px;">",mysql_result($result,$i,text), "</div> </td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="30" border="0" height="1"></td> </tr>"; echo "</table>"; Криво выходит и выдает ошибку: Code: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in X:\home\localhost\www\content\proekts.php on line 103 Допустим, что я сделаю шаблон .tpl, но как его прикрутить к скрипту? Извиняюсь за ламерские вопросы, просто я еще учусь...
Ща посмотрим: PHP: echo "<table border=0>"; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo "<tr valign="top"> <td class="bgGrey4"><div class="dotBigArr2"><img src="images/big_ar_1.gif" alt="" width="23" border="0" height="15"></div></td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="10" border="0" height="1"></td> <td class="bgGrey4"> <div class="redTitle">",mysql_result($result,$i,date), "</div> <div style="margin: 10px 0px;">",mysql_result($result,$i,text), "</div> </td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="30" border="0" height="1"></td> </tr>"; echo "</table>"; У тя на синтаксис пхп жалуется, прошущена либо запятая, либо точка с запятой. Мля, внутри попробуй другие кавычки юзать - одинарные! PHP: echo '<table border=0>'; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo '<tr valign="top"> <td class="bgGrey4"><div class="dotBigArr2"><img src="images/big_ar_1.gif" alt="" width="23" border="0" height="15"></div></td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="10" border="0" height="1"></td> <td class="bgGrey4"> <div class="redTitle">"'.mysql_result($result,$i,date).' "</div> <div style="margin: 10px 0px;">"'.mysql_result($result,$i,text).' "</div> </td> <td class="bgGrey4"><img src="images/00_002.gif" alt="" width="30" border="0" height="1"></td> </tr>'; echo '</table>'; - разницу видишь? Подсветка показывает где html - статика, а где переменные - код php.
Вах! И правда, нужно было использовать одинарные кавычки. А я как-то не обратил даже на это внимания... Спасибо за подсказку, плюсую.
и запятая там ни к чему, значения переменных "прилипают" к строкам с помошью точки. PHP: $var='бла, бла, бла'; echo 'не '.$var; Угу, спасибо за +0 польщён! P.S. Кстати, на будущее скажу, что всякие перевод строки, табуляция тоже могут сыграть злую шутку...так что советую сплошником делать вывод html, исключая всё не нужное и лишнее.
Принял к сведению. Просто где-то вычитал про запятую, вот и пишу ее... И про текст сплошняком тоже запомню. Гм... +0?? Я же +10 сделал... о_0
Эх... ты пока дух тут как в армии, нету у тебя силы в +10 бить... P.S. Щас я тебе поставлю, за вопрос, за то что я помог...