Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

09.12.2009, 01:42
|
|
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме: 90698
Репутация:
5
|
|
Вывод из БД+стили таблиц
Доброго времени суток!
Есть небольшой сайт - самопис. На главной странице выводятся новости из БД. И есть скрипт, который это делает.
Но появился вопрос: как прикрутить к этому скрипту стили? Т.е. выводить новости по определенному шаблону.
Скрипт вывода:
Код:
<?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>';
?>
Как следует выводить:
Код:
<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>
Понятно, что нужно копать в
Код:
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>";
но все время выдает ошибку. Подскажите, как же сделать, либо дайте пожалуйста ссылку на подобную тему, если она уже была.
Заранее спасибо за помощь.
|
|
|

09.12.2009, 01:47
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
засунь весь html в строковые переменные и меняй их как тебе нужно, вот тебе и вывод в разных шаблонах.
P.S. Не написал какую ощибку выдаёт. Да и вообще html засунь в tpl и инклудь нужный шаблон, мешать код и html - нетрушно...
|
|
|

09.12.2009, 02:03
|
|
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме: 90698
Репутация:
5
|
|
Т.е. сделать так?
Код:
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>";
Криво выходит и выдает ошибку:
Код:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in X:\home\localhost\www\content\proekts.php on line 103
Допустим, что я сделаю шаблон .tpl, но как его прикрутить к скрипту?
Извиняюсь за ламерские вопросы, просто я еще учусь...
|
|
|

09.12.2009, 02:13
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от alpotemkin
Т.е. сделать так?
Код:
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>";
Криво выходит и выдает ошибку:
Код:
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.
Последний раз редактировалось -=lebed=-; 09.12.2009 в 02:22..
|
|
|

09.12.2009, 02:22
|
|
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме: 90698
Репутация:
5
|
|
Вах! И правда, нужно было использовать одинарные кавычки. А я как-то не обратил даже на это внимания...
Спасибо за подсказку, плюсую. 
|
|
|

09.12.2009, 02:26
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от alpotemkin
Вах! И правда, нужно было использовать одинарные кавычки. А я как-то не обратил даже на это внимания...
Спасибо за подсказку, плюсую. 
и запятая там ни к чему, значения переменных "прилипают" к строкам с помошью точки.
PHP код:
$var='бла, бла, бла';
echo 'не '.$var;
Сообщение от alpotemkin
Спасибо за подсказку, плюсую. 
Угу, спасибо за +0  польщён!
P.S. Кстати, на будущее скажу, что всякие перевод строки, табуляция тоже могут сыграть злую шутку...так что советую сплошником делать вывод html, исключая всё не нужное и лишнее.
Последний раз редактировалось -=lebed=-; 09.12.2009 в 02:32..
|
|
|

09.12.2009, 02:31
|
|
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме: 90698
Репутация:
5
|
|
Сообщение от -=lebed=-
и запятая там ни к чему, значения переменных "прилипают" к строкам с помошью точки.
PHP код:
$var='бла, бла, бла';
echo 'не '.$var;
Угу, спасибо за +0  польщён! 
Принял к сведению. Просто где-то вычитал про запятую, вот и пишу ее... И про текст сплошняком тоже запомню.
Гм... +0?? Я же +10 сделал... о_0
|
|
|

09.12.2009, 02:34
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от alpotemkin
Гм... +0?? Я же +10 сделал... о_0
Эх... ты пока дух тут как в армии, нету у тебя силы в +10 бить...
P.S. Щас я тебе поставлю, за вопрос, за то что я помог... 
|
|
|

09.12.2009, 02:45
|
|
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме: 90698
Репутация:
5
|
|
Сообщение от -=lebed=-
Эх... ты пока дух тут как в армии, нету у тебя силы в +10 бить...
P.S. Щас я тебе поставлю, за вопрос, за то что я помог... 
Хитро-то как... :-D
Лан, спасибо еще раз за помощь, пойду работать дальше... да php учить. 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|