Помощник
|
Вывод комментариев на экран-пределы. |
Lotus
|
Сообщение
#1
|
||
|
|
||
|
|||
Apay |
19.4.2009, 20:19;
Ответить: Apay
Сообщение
#2
|
|
[php]$per==0; [/php]вот здесь наверняка и зарыта ошибка, надо [php]$per=0; [/php]
кстати, не понял смысла этой переменной, она тут не нужна |
|
|
Lotus
|
Сообщение
#3
|
|
Не помогло.Ни изменение знака,ни удаление переменной.
Зачем нужна?Насколько я помню,всегда нужно присваивать переменной значение нуля-если она появилась в первый раз. |
|
|
Galen |
20.4.2009, 19:28;
Ответить: Galen
Сообщение
#4
|
|
Имхо, у вас неверный алгоритм подсчёта условий для LIMIT. Вроде бы нужно так:
[PHP]$vivod = ($page - 1) * 3;[/PHP] И ещё: [PHP]and $per!==3)[/PHP] сменить на: [PHP]and $per!=3)[/PHP] |
|
|
Apay |
20.4.2009, 22:15;
Ответить: Apay
Сообщение
#5
|
|
я имел ввиду что переменная $per вообще тут не нужна, все равно запрос вернет не более 3 результатов
[php] if( $page > 1 ){ $vivod = $page*3; // или ($page-1)*3 как написал Galen $com = mysql_query( "SELECT text,author,number FROM comments WHERE number=$id limit $vivod,3" ); while( $comar = mysql_fetch_array($com) ){ printf( "Выводим результаты" ); } } [/php], |
|
|
Lotus
|
Сообщение
#6
|
|
Galen, не помогает.
Apay, аналогично. Ничего не понятно.:wacko: Galen, знаете,вы прям опередили мою мысль.Яуже пользовался подобным приемом при выводе фотографий, только хотел его использовать-и увидел вашу запись. Мы мыслим одинаково)) |
|
|
Galen |
21.4.2009, 14:50;
Ответить: Galen
Сообщение
#7
|
|
Если по-прежнему не работает, дайте больше кода - так вроде всё в порядке.
|
|
|
Lotus
|
Сообщение
#8
|
|
[PHP]
<? session_start (); include("connect.php"); If (isset ($_GET['date'])) {$date=$_GET['date'];} ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" border="1"> <tr> <td><?php include ("shapka.php")?></td> </tr> <tr> <td><table width="100%" height="354" border="1"> <tr> <td width="20%" height="348" valign="top"><?php include("lmenu.php")?></td> <td width="60%" valign="top"><?php if ($date=="2009"){$dateprov=$date; $id = isset($_GET['id']) ? $_GET['id'] : ''; $result=mysql_query ("SELECT title,href,dateF,author FROM fhoto WHERE dateprov='$dateprov' AND id='$id'",$db); $myrow=mysql_fetch_array ($result); do { printf ("<center>%s<img src='%s'><br><div class='text'>Дата добавления:%s<br>Кто добавил:%s<br>",$myrow['title'],$myrow['href'],$myrow['dateF'],$myrow['author']);} while ($myrow=mysql_fetch_array($result)); } If (isset ($_GET['page'])) {$page=$_GET['page'];} echo("Комментарии к фотографии<br>Если вы не видите комментариев,значит их попросту нет.Если вы не авторизированы,вы не можете добавлять комментарии.<br>"); if ($page=='1') { $com=mysql_query("SELECT text,author,number FROM comments WHERE number=$id ORDER BY id ASC limit 0,3"); while ($comar=mysql_fetch_array($com) and $per!==3) {printf (" Комментарий добавил(а):<table border='1' width='300' valign='top'> <tr> <td>%s</td> </tr> </table> <br> <table border='1' width='300' height='100' valign='top'> <tr> <td>%s</td> </tr> </table> $s <br></div>",$comar['author'],$comar['text']); $per=$per+1; } } if ($page>1) { $vivod=($page*3)-1; $com=mysql_query("SELECT text,author,number FROM comments WHERE number=$id limit $vivod,3"); while ($comar=mysql_fetch_array($com)) {printf (" Комментарий добавил(а):<table border='1' width='300' valign='top'> <tr> <td>%s</td> </tr> </table> <br> <table border='1' width='300' height='100' valign='top'> <tr> <td>%s</td> </tr> </table> <br></div>",$comar['author'],$comar['text']); $per=$per+1; } } $number=$id; $prop=$_SESSION['user']; print <<<HERE <form name='form1' method='post' action='admin/com_obr.php'> Автор<input type='text' name='author'> Не нравится <textarea name='text' cols="40" rows="2"></textarea> <input name="id" type="hidden" value='$id'> <input name="number" type="hidden" value='$number'> <input name="prop" type="hidden" value='$prop'> <input type='submit' name='submit' value="Отправить комментарий"> </form> HERE; $page=$page+1; if ($per=='3') {printf("<a href='view_fhoto_big.php?date=2009&id=$id&page=%s'>%s</a>",$page,$page);} ?></td> <td width="20%" valign="top"><?php include ("rmenu.php")?></td> </tr> </table></td> </tr> <tr> <td><?php include ("niz.php")?></td> </tr> </table> </body> </html> } [/PHP] Вот вся страничка. |
|
|
Apay |
22.4.2009, 0:36;
Ответить: Apay
Сообщение
#9
|
|
1) надо инициализировать дату (она может быть неопределенной)
[php]$date = isset($_GET['date']) ? $_GET['date'] : 2009; // вместо 2009 - что-то по умолчанию[/php]2) вместо do-while использовать while, т.к. do-while сработает даже если mysql_fetch_array вернет пустой результат [php]while( $myrow=mysql_fetch_array($result) ){ printf ("<center>%s<img src='%s'><br><div class='text'>Дата добавления:%s<br>Кто добавил:%s<br>",$myrow['title'],$myrow['href'],$myrow['dateF'],$myrow['author']); } [/php]3) надо инициализировать $page (она может быть неопределенной) [php]$page = isset($_GET['page']) ? $_GET['page'] : 1; // вместо 1 - что-то по умолчанию[/php]4) переменная $per вообще не нужна (кстати, в приведенном коде она нигде не инициализируется) 5) вместо двух структур с $page == 1 и $page > 1 сделать одну [php]$vivod=($page-1)*3; $com=mysql_query("SELECT text,author,number FROM comments WHERE number=$id ORDER BY id LIMIT $vivod,3"); while( $comar=mysql_fetch_array($com) ){ printf ("..."); } [/php]6) есть ли другие страницы нужно определять не по $per а по количеству сток в базе запросом типа "SELECT COUNT(*) FROM table WHERE condition"
|
|
|
Lotus
|
Сообщение
#10
|
|
|
Всем спасибо за помошь)Вопрос разрешился.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок быстро, удобно, по доступному курсу |
200 | Sostavitel | 98241 | 11.2.2024, 21:07 автор: Wolfhound |
|
Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA). | 9 | sbitcoinru | 6784 | 10.10.2023, 19:25 автор: Sbitcoin |
|
Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH | 225 | himin | 132903 | 7.5.2023, 13:26 автор: Вера_Симонова |
|
«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«» | 13 | 101Crypta | 12161 | 18.4.2023, 23:15 автор: 101Crypta |
|
Нужен вывод в топ наших роликов Youtube | 3 | wep | 1929 | 23.3.2023, 17:39 автор: distrib095 |
Текстовая версия | Сейчас: 24.4.2024, 11:34 |