Задача: вывести данные из таблицы mysql постранично. Подскажите готовые решения на php или помогите разораться, почему не работает вот это решение: Код (Text): $link = mysql_connect("localhost", "root", ""); if (! $link) die( "Couldn`t connect to localhost!"); $db = "user"; mysql_select_db($db) or die ("Error open DB!"); // количество записей, выводимых на странице $per_page=10; // получаем номер страницы if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0; // вычисляем первый оператор для LIMIT $start=abs($page*$per_page); // составляем запрос и выводим записи // переменную $start используем, как нумератор записей. $q="SELECT * FROM `subs` ORDER BY field LIMIT $start,$per_page"; $res=mysql_query($q); while($row=mysql_fetch_array($res)) { echo ++$start.". ".$row['field']."<br>\n"; } // дальше выводим ссылки на страницы: $q="SELECT count(*) FROM `subs`"; $res=mysql_query($q); $row=mysql_fetch_row($res); $total_rows=$row[0]; $num_pages=ceil($total_rows/$per_page); for($i=1;$i<=$num_pages;$i++) { if ($i-1 == $page) { echo $i." "; } else { echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> "; } }; mysql_close($link); Выдаёт ошибку: Код (Text): Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource Искал разные решение в сети, всё на нерабочие натыкался. Исправлял, но не заработало всё равно. В конечном итоге ещё одна программа тоже не заработала из-за ошибки с mysql_fetch_array.
Тут же все ясно и понятно написано), аргумент пропущен--какой тип массива возвращать. Читаем документацию). Я лично для работы с базой использую DbSimple --удобная оч. Там как-раз есть реализация постраничной выборки+избавишь себя от уязвимостей, если будешь юзать плейсхолдеры.
Разобрался. Переписал немного кода: Код (Text): $res=mysql_query("SELECT * FROM subs LIMIT $start,$per_page"); while($row=mysql_fetch_array($res)) { echo ++$start.". ".$row['0'].$row['1'].$row['2'].$row['3'].$row['4']."<br>\n";