Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Некоректно работает постраничный вывод
 
 автор: mag   (14.08.2006 в 12:20)   письмо автору
 
 

выводится первая страница записей, которые повторяются. при переходе дальше по страницам, выводятся теже записи. Что может быть?

   
 
 автор: Vitas   (14.08.2006 в 18:13)   письмо автору
 
   для: mag   (14.08.2006 в 12:20)
 

юзайте limit в mysql:
<?php
// выводит 10 записей постранично
mysql_query ('select * from 'table' limit ' . (($page 1) * 10) . ', 10');
?>

$page - номер страницы

   
 
 автор: mag   (18.08.2006 в 12:39)   письмо автору
 
   для: Vitas   (14.08.2006 в 18:13)
 

изменил запрос:

mysql_query ('select * from 'table' limit ' . (($page - 1) * 10) . ', 10');
. Но попрежнему названия выводимые в первую страницу дублируются на остальных страницах(2,3,4,....)

   
 
 автор: dert   (18.08.2006 в 13:44)   письмо автору
 
   для: mag   (18.08.2006 в 12:39)
 

Попробуйте так должно работать

$pages=$_GET[page]-1;
  $per_page=10;
  $start=$pages * $per_page;
mysql_query ("select  * from table limit $start,$per_page");

   
 
 автор: Mag   (18.08.2006 в 15:23)   письмо автору
 
   для: dert   (18.08.2006 в 13:44)
 

поставил приведенный код, но все так же, если перейти по 2,3,4... и остальным ссылкам позиции наименований остаются без изменений, меняется только номер страницы.
2den:Привидите пример кода скрипта в прикрепленном файле или в тегах code, как у вас написан.

   
 
 автор: elenaki   (18.08.2006 в 15:31)   письмо автору
 
   для: Mag   (18.08.2006 в 15:23)
 

попробуйте вывести текст запроса и посмотреть, по каким критериям вы делаете выборку.
меняется ли значение строки, с которой надо начинать выборку при изменении номера
страницы? чему равен $start?

   
 
 автор: dert   (18.08.2006 в 15:39)   письмо автору
 
   для: Mag   (18.08.2006 в 15:23)
 


<?
 $per_page
=10;
  if (isset(
$_GET['page'])) $page=($_GET['page']-1); else $page=0;
// вычисляем первый оператор для LIMIT
$start=abs($page*$per_page);
// составляем запрос и выводим записи
// переменную $start используем, как нумератор записей.

 
$query "SELECT * FROM TABLE LIMIT $start,$per_page";
 
$result mysql_query($query);
$num_result mysql_num_rows($result);

for(
$i=0$i<$num_result$i++)
 {
 
$row mysql_fetch_array($result);

 
// ТУТ вАши данные Из БАЗЫ КОТОРЫЕ ВЫ ВЫВОДИТЕ
}

?>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font class=page><b>Страницы:&nbsp;&nbsp;</b></font>
<?
$query
="SELECT count(*) FROM TABLE";
$res=mysql_query($query);
$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-== $page) {
    echo 
"<font class=pbar><b>".$i."</b></font>&nbsp;&nbsp;";

  } else {


    echo 
"<b><a class=bar href=".$_SERVER['PHP_SELF']."page=".$i.">".$i."</a></b>&nbsp;&nbsp;";
  }

  }
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования