Тема: помогите с постраничной навигацией

Доброго времени суток.
Мне нужно чтобы из базы выходило только 10 заметок
выдает ошибки на линиях красного цвета. Где накосячил?)


<?php

include ("blocks/bd.php");



$result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM musicminimals WHERE data='$data'");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start

$result = mysql_query("SELECT * FROM musicminimals WERE data='$data' ORDER BY id LIMIT $start, $num", $db);

$myrow = mysql_fetch_array($result);

do {

printf ("<table cellspacing='2' cellpadding='2' height='160' class='tbmusic2' >
<tr>
<td rowspan='4' width='150'>%s</td>
<td class='tbmusic2' width='590' ><p titlealbom class='text_titlealbom'>%s</p></td>
</tr>
<tr>
<td class='tbmusic2'><p class='text_info'>%s</p></td>
</tr>
<tr>
<td class='tbmusic2'><p class='text_download'>%s</p></td>
</tr>
<tr>
<td class='tbmusic2'><p class='text_data'>Дата добавления:%s</p></td>
</tr>
</table><br>", $myrow["imj"],$myrow["title"],$myrow["info"],$myrow["musicss"],$myrow["date"] );

}

while ($myrow = mysql_fetch_array($result));
?>

2

Re: помогите с постраничной навигацией

Попробуйте отловить ошибку MySQL.

if (!$result = mysql_query("SELECT * FROM musicminimals WERE data='$data' ORDER BY id LIMIT $start, $num", $db)) {
    echo mysql_error();
}

if (!$temp = mysql_fetch_array($result00)) {
    echo mysql_error();
}

3

Re: помогите с постраничной навигацией

Hanut сказал:

Попробуйте отловить ошибку MySQL.

if (!$result = mysql_query("SELECT * FROM musicminimals WERE data='$data' ORDER BY id LIMIT $start, $num", $db)) {
    echo mysql_error();
}

if (!$temp = mysql_fetch_array($result00)) {
    echo mysql_error();
}

появилось:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\hst\oxidemusic-ru_34612d95\http\music2.php on line 138
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'data='' ORDER BY id LIMIT -10, 10' at line 1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\hst\oxidemusic-ru_34612d95\http\music2.php on line 144
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'data='' ORDER BY id LIMIT -10, 10' at line 1

4

Re: помогите с постраничной навигацией

andreyoxide
LIMIT не может содержать отрицательное число, только от нуля.