Постраничный вывод

IBSN

Новичок
Постраничный вывод

Значит пишу я кодик:
Выдает если общее кол. сообщений 100 на первой:
20, на второй 40, на третей 60, на четвертой 40 (опять) , на пятой 20
Почему??? Хотя должен выдовать по 20 на стр.???
Искал ошибку, не нашел =(
Пытался проверить:

echo "$ot<br>$doo<br>$num_rowss";

Выводит:
1 страница:
0
20
20
2 страница:
20
40
40
3 страница:
40
60
60
4 страница:
60
80
40
5 страница:
80
100
20

Почему??? Что не так???


PHP:
$query = "SELECT * FROM templates ORDER BY price ASC";
$result = mysql_query ($query);
$num_rows = mysql_num_rows($result);

$Messages= "20";
$script_name="index.php";


echo '<center>
      <TABLE cellSpacing=0 cellPadding=0 width=600 border=0 height="37">
        <tr>
          <TD width=600 colspan="3" height="1" valign="top">
            <div align=center><font class="tekst" face="Tahoma" size="2">Всего шаблонов: '.$num_rows.'</font>
            </div>';

if (!$page) $page=1;

    $NOfPages = intval(($num_rows-1)/$Messages);
    if($NOfPages>=1)
    {                        
    	for ($i = 0; $i < $NOfPages+1; $i++)
        {
        	if($i==0) echo '<div align=center><font class="tekst" face="Tahoma" size="2">Страницы: ';
        	$n=$i+1;
if($page!=$n)
        	{echo ' <a href='.$script_name.'?menu='.$menu.'&page='.$n.'><font color="#0A2562">'.$n.'</font></a> ';
            }else echo '<b>'.$n.'</b>';
            if($i == $NOfPages) echo '</div></font>';
        }
	}
    $NofMessages=$num_rows;
    if($num_rows>$Messages) $NofMessages=$Messages;

         echo '</TD>
        </tr>
        </table>

<table style="WIDTH: 100%; BORDER-COLLAPSE: collapse" cellSpacing="0" border="0" ItemStyle="margin-top:10">
  <tbody>
    <tr>';
$ot=$page*$Messages-$Messages;
$doo=$NofMessages+($page*$Messages-$Messages);


$queryy = "SELECT * FROM templates ORDER BY price ASC LIMIT $ot, $doo";
$resultt = mysql_query ($queryy);
$num_rowss = mysql_num_rows($resultt);

echo "$ot<br>$doo<br>$num_rowss"; // пытался проверить где ошибка =( ошибка в  $num_rowss он почему-то не лимитит на определенных страницах =(

$i=0;
while ($mess = mysql_fetch_array ($resultt))
{
    	if($mess!='')
        { ...
 

IBSN

Новичок
Большое =) спасибо, я читал быстро и до now пор думал что второй аргумент это до какого числа выводить, блин спасибо понял что второй аргумент это кол выводить =)
 

fog

Рыцарь Джедай
IBSN, Я вот использую ADODB, с его помощью постраничный вывод делается очень легко и удобно. Подробнее смотри у detail.
 
Сверху