Вывод из базы постранично

  • Автор темы Автор темы amen666
  • Дата начала Дата начала

amen666

Новичок
Вывод из базы постранично

Помогите разобраться с разбивкой.
Есть простенькая форма (имя, сообщение), на той же странице - вывод сообщений:
PHP:
<?php
include "config.php";
?>
<form action=add.php method=POST>
ИМЯ................: <input type=text name="name"> <br>
СООБЩЕНИЕ:           <textarea type=text name="msg"></textarea><br>
                     <input type=submit value="отправить">
                     <input type=hidden value="add">
</form>
<hr>


<?
$per_page=3;
$query="SELECT * FROM miproject ORDER BY id DESC LIMIT 0,$per_page";
$res=mysql_query($query);
$row=mysql_fetch_array($res);
$total_rows=$row['0'];
$num_pages=ceil($total_rows/$per_page);
while ($row=mysql_fetch_array($res))
{

echo "<b>Имя:</b>"; echo $row['name'];
echo "<br>";
echo "<b>Сообщение:</b>"; echo $row['msg'];
echo "<br><hr>";
}
for($i=1;$i<=$num_pages; $i++)
{
 echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'">'.$i."</a>\n";
}  

?>

Нужно, чтобы выводилось три сообщения и номера страничек внизу.
Данный скрипт выводит 2 сообщения и тучу ссылок страниц, которые не работают.

P.S. Пример взял с PHPFAQ
 
может, взять пример поточнее?
выделить мышкой, скопировать и вставить в свой скрипт, а не переписывать от руки?
 
*****, делал, не работает.
Поэтому взял простейший вариант, описанный там, но видать там чего-то не учли.
 
Во-первых, там код не для копирования, а для изучения. Чтобы существа, обремененные интеллектом, изучили решение этой сложнейшей задачи, и могли впоследствии воспроизвести его самостоятельно.

Во-вторых, я сейчас посмотрел этот простейший вариант, и там чисто визуально совсем не такой код, какой мы видим здесь. Так что, что-то не учли те ручки, которые копировали. может, им к хирургу обратиться?
 
Ой ну блин какие мы остроумные!

Вот подправленный вариант:

PHP:
$per_page = 3;

$query = "SELECT * FROM miproject";
$res = mysql_query($query);
$total_rows = mysql_num_rows($res);

$num_pages = ceil($total_rows/$per_page);
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;

$q = "SELECT * FROM miproject ORDER BY DESC LIMIT ($page-1)*$per_page, $per_page";
$r = mysql_query($q);
while($row =mysql_fetch_array($r))
{
 echo "<b>Имя:</b>"; echo $row['name'];
 echo "<br>";
 echo "<b>Сообщение:</b>"; echo $row['msg'];
 echo "<br><hr>";
}

for($i=1;$i<=$num_pages; $i++)
{
 echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'">'.$i."</a>\n";
}
PHP:
 
Не выводит записи - Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in j:\home\mysql.ru\www\index.php on line 28. Это строчка while($row =mysql_fetch_array($r))

и опять туча никуда не ведущих ссылок
 
что значит "никуда не ведущих ссылок"?
чтобы запрос не писал ошибку, его надо составлять без ошибок
 
Автор оригинала: *****
что значит "никуда не ведущих ссылок"?
в адресной строке меняется num=, осталльное "стоит на месте"

чтобы запрос не писал ошибку, его надо составлять без ошибок
правда?)
ну для того я создал эту тему, чтобы добрые люди указали на ошибку.
 
насколько я вижу, во втором варианте кода запрос не такой, как в первом
какой запрос тебе нужен, можешь знать только ты. никакие добрые люди запрос за тебя не придумают

если ты не можешь скопировать три строчки кода без ошибок - попробуй найти занятие попроще
 
Сверху