Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Вывод из БД+стили таблиц (https://forum.antichat.xyz/showthread.php?t=162090)

alpotemkin 09.12.2009 01:42

Вывод из БД+стили таблиц
 
Доброго времени суток!

Есть небольшой сайт - самопис. На главной странице выводятся новости из БД. И есть скрипт, который это делает.
Но появился вопрос: как прикрутить к этому скрипту стили? Т.е. выводить новости по определенному шаблону.

Скрипт вывода:

Код:

<?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>";

но все время выдает ошибку. Подскажите, как же сделать, либо дайте пожалуйста ссылку на подобную тему, если она уже была.

Заранее спасибо за помощь.

-=lebed=- 09.12.2009 01:47

засунь весь html в строковые переменные и меняй их как тебе нужно, вот тебе и вывод в разных шаблонах.
P.S. Не написал какую ощибку выдаёт. Да и вообще html засунь в tpl и инклудь нужный шаблон, мешать код и html - нетрушно...

alpotemkin 09.12.2009 02:03

Т.е. сделать так?

Код:

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, но как его прикрутить к скрипту?
Извиняюсь за ламерские вопросы, просто я еще учусь...

-=lebed=- 09.12.2009 02:13

Цитата:

Сообщение от 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="
margin10px 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.

alpotemkin 09.12.2009 02:22

Вах! И правда, нужно было использовать одинарные кавычки. А я как-то не обратил даже на это внимания...
Спасибо за подсказку, плюсую. ;)

-=lebed=- 09.12.2009 02:26

Цитата:

Сообщение от alpotemkin
Вах! И правда, нужно было использовать одинарные кавычки. А я как-то не обратил даже на это внимания...
Спасибо за подсказку, плюсую. ;)

и запятая там ни к чему, значения переменных "прилипают" к строкам с помошью точки.
PHP код:

$var='бла, бла, бла';
echo 
'не '.$var

Цитата:

Сообщение от alpotemkin
Спасибо за подсказку, плюсую. ;)

Угу, спасибо за +0 :D польщён! :cool:

P.S. Кстати, на будущее скажу, что всякие перевод строки, табуляция тоже могут сыграть злую шутку...так что советую сплошником делать вывод html, исключая всё не нужное и лишнее.

alpotemkin 09.12.2009 02:31

Цитата:

Сообщение от -=lebed=-
и запятая там ни к чему, значения переменных "прилипают" к строкам с помошью точки.
PHP код:

$var='бла, бла, бла';
echo 
'не '.$var


Угу, спасибо за +0 :D польщён! :cool:

Принял к сведению. Просто где-то вычитал про запятую, вот и пишу ее... И про текст сплошняком тоже запомню.

Гм... +0?? Я же +10 сделал... о_0

-=lebed=- 09.12.2009 02:34

Цитата:

Сообщение от alpotemkin
Гм... +0?? Я же +10 сделал... о_0

Эх... ты пока дух тут как в армии, нету у тебя силы в +10 бить... :D
P.S. Щас я тебе поставлю, за вопрос, за то что я помог... ;)

alpotemkin 09.12.2009 02:45

Цитата:

Сообщение от -=lebed=-
Эх... ты пока дух тут как в армии, нету у тебя силы в +10 бить... :D
P.S. Щас я тебе поставлю, за вопрос, за то что я помог... ;)

Хитро-то как... :-D
Лан, спасибо еще раз за помощь, пойду работать дальше... да php учить. :)


Время: 05:27