|
|
|
| Доброго времени. Пожалуйста подскажите, как быть ?
Скачал как-то скрипт бесплатной доски обьявлений. Там в админке есть функция
отображения последних 10и обьявлений. Хочу чтоб отображалась 100 (так проще администрировать) что- то не найду как изметь код.
Вот функция отвечающая за вывод 10-ки. :
// Выводим 10-20 последних объявлений
$shapka20="<TABLE align=center border=1 bordercolor='#E1E1E1' cellPadding=3 cellSpacing=0 width=100%>";
if (is_file("$datadir/newmsg.dat")) { // проверяем есть ли такой файл
$linesn = file("$datadir/newmsg.dat"); $in=count($linesn);
if ($in > 0) {
$newdat=file("$datadir/newmsg.dat");
$in=count($newdat)-1; $iall=$in; $ia=$in+1;
print"<TABLE cellPadding=2 cellSpacing=1 align=center width='98%'>
<TR bgColor=#cccccc height=18><TD colspan=4 align=center><B>Последние $ia объявлений:</B></TD></TR>
<TR><TD valign=top> $shapka20";
do {$dtn=explode("|", $newdat[$in]);
$url="index.php?fid=$dtn[8]&id=$dtn[10]";
$dtn[5]=substr($dtn[5],0,150); // образаем сообщение до 150 символов
$dtn[5]=str_replace("<br>","\r\n",$dtn[5]);
$dtn[7]=date("H:i",$dtn[7]);
if ($dtn[4]=="П") {$colorsp="#ff3333";} else {$colorsp="#1414CD";}
if (round($iall/2)==($in+1)) {print"</table></td><td valign=top width=50%>$shapka20";}
if ($dtn[9]=="vip") {$st1="<B>"; $st2="VIP-объявление \r\n";} else {$st1=""; $st2="";}
print"
<TR height=20>
<td width=5% bgcolor=#FF6C6C><B><a href='admin.php?tenxd=$in'>.X.</a></B></td>
<TD><FONT color=$colorsp><B>$dtn[4]</B></FONT></TD>
<TD>$dtn[7]</TD>
<TD width=100%>$st1<A href='$url' title='$dtn[5] \r\r\n $st2 размещено $dtn[6] г.'>$dtn[3]</A></TD>
</TR>";
$in--;
} while($in >"-1");
print"</table></td></tr></table>";
}
}
print"<div align=left> Операции для рубрик: <BR>
<B>Вв.</B> - переместить <B>ВВЕРХ</B>;<BR>
<B>Нз.</B> - переместить <B>ВНИЗ</B>;<BR>
<B>.Р.</B> - <B>РЕДАКТИРОВАТЬ</B>;<BR>
<B>.Х.</B> - <B>УДАЛИТЬ</B>.<BR><BR>
</td></tr></table>"; }
} // if !isset($event') | |
|
|
|
|
|
|
|
для: ammiid99
(14.02.2010 в 15:36)
| | выкинуть. | |
|
|
|
|
|
|
|
для: ammiid99
(14.02.2010 в 15:36)
| | Код реально ужасен. Можно было сделать намного проще. На мой взгляд пользоваться функциями <print>, <echo> для вывода большого количества HTML делает код очень не универсальным и не читабельным. Лучше делать небольшие вставки PHP-кода. К примеру лучше выглядит
<table>
<?php
while(){
?>
<tr><td><?=$somevalue; ?></td></tr>
<?php
}
?>
</table>
А в Вашем коде я что то ничего не понял. Намного проще сделать с помощью базы данных, т.к. есть много удобных функций выборки, например SELECT .. .. ORDER BY 'date' DESC LIMIT 100. По идее должно выбрать 100 последних объявлений. (PS запрос вероятно неправильно записал, но суть такая) | |
|
|
|
|
|
|
|
для: sasha1133
(27.02.2010 в 12:17)
| | какая разница между print и echo? | |
|
|
|
|
|
|
|
для: sl1p
(27.02.2010 в 13:19)
| | не знаю, пользуюсь echo | |
|
|
|
|
|
|
|
для: sasha1133
(28.02.2010 в 02:23)
| | а я наверное неправильно понял ваш пост)
мне показалось что вы предлагаете юзать print вместо echo | |
|
|
|
|
|
|
|
для: sl1p
(28.02.2010 в 02:45)
| | Различие нашёл тут, если интересно http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
Я имел ввиду при написании кода стараться оставить как можно более простую и понятную структуру HTML, т.е. не выводить большое количество HTML с помощью echo или print. Потому что бывает трудно понять, как будет выглядеть документ, труднее верстать и тп. | |
|
|
|
|
|
|
|
для: sasha1133
(28.02.2010 в 12:21)
| | echo <<<TEXT
много кода
TEXT:
и всё ок :) | |
|
|
|
|
|
|
|
для: sl1p
(28.02.2010 в 13:08)
| | Heredoc-текст заканчивается на ;
TEXT; | |
|
|
|
|
|
|
|
для: Лена
(28.02.2010 в 13:59)
| | промазал по кнопке) | |
|
|
|
|
|
|
|
для: sl1p
(28.02.2010 в 14:37)
| | а HEREDOC - синтаксис подставляет значения переменных в текст? | |
|
|
|
|
|
|
|
|
для: Тень&
(03.03.2010 в 18:35)
| | Поясни, что то не понял | |
|
|
|
|
|
|
|
для: sasha1133
(28.02.2010 в 02:23)
| | echo проще и соответственно быстрее обрабатывется. | |
|
|
|
|
|
|
|
для: Zefo
(03.04.2010 в 18:25)
| | Я не представляю, сколько echo надо использовать в коде, чтобы почувствовать хоть какой-то прирост в скорости..
Я лично использую echo по двум причинам
1. Так я в мозгу отличаю другие языки программирования
2. Да тупо удобнее писать echo, а не print
Правда есть случай, когда нужно использовать именно print:
(1 == 1) ? print 1 : print 0; | |
|
|
|