Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > разбитие на страницы


Автор: pipka 3.5.2006, 10:26
Делаю галлерею,
имею траблу со следующим: сделал разбивку на страницы.
записей в базе 11, а на каждой странице по 9ть, так вот вторая страница отображается почему то полная добавляя значения. вот код:
Код

    $number_per_page = 9; // ????? ???????? ?? ????????
    $resultq = mysql_query ("SELECT COUNT(*) as `quantity` FROM `bilder` WHERE k_id IN ($kategorie)");
    $quantity = mysql_fetch_array ( $resultq, MYSQL_ASSOC );
    $quantity = $quantity['quantity'];
    $number_of_page = ceil ( $quantity/$number_per_page );
    $page = ( isset ( $_GET['start'] ) && intval ( $_GET['start'] ) ) ? $_GET['start'] : 0;
    $images = "SELECT * FROM bilder WHERE k_id IN ($kategorie) ORDER BY id DESC LIMIT ".$page.", ".$number_per_page."";
    $result=mysql_query($images);
    $cols = 3;
    $j = 0;
    if ($result = mysql_query($images)) {
        echo "<table><tr>";
        echo "<tr align=center><td align=center>";
        print "Seite:\n";
        for ( $i = 1; $i <= $number_of_page; $i ++ ) {
            print '<a href=?l='.$lang.'&kategorie='.$kategorie.'&start='.$i.'>'.$i.'</a> ';//??? ???-?? ???????, ???? ???????? ??????
        }
        echo "</td></tr>";
        while ($row = mysql_fetch_array($result)) {
            if ($j == $cols) {
                echo "</tr>";
                $j = 0;
            }
            echo "<td><a href=\"javascript:imgopen('".$imgo_src."{$row['g_img']}')\"><img src='".$imgk_src."{$row['k_img']}' border=\"0\" alt=\"Klicken!!! um vergroessern\"></a><br>{$row['name'.$sprache]}<br>{$row['kommentar'.$sprache]}</td>";
            $j++;
        }
        echo "<tr align=center><td align=center>";
        print "Seite:\n";
        for ( $i = 1; $i <= $number_of_page; $i ++ ) {
            print '<a href=?l='.$lang.'&kategorie='.$kategorie.'&start='.$i.'>'.$i.'</a> ';//??? ???-?? ???????, ???? ???????? ??????
        }
        echo "</td></tr>";
        echo "</table>";


Есть ли какие нибудь другие варианты ? чтоб уже наверняка ? smile 

Автор: pipka 3.5.2006, 10:52
ошибку нашёл,
ошибка тут:
Код

$images = "SELECT * FROM bilder WHERE k_id IN ($kategorie) ORDER BY id DESC LIMIT ".$page.", ".$number_per_page."";

нада так:
Код

$images = "SELECT * FROM bilder WHERE k_id IN ($kategorie) ORDER BY id DESC LIMIT ".($page*$number_per_page).", ".$number_per_page.""; 

теперь нада прально расставить сцылки на линки %) 

Автор: Wowa 3.5.2006, 22:26
Цитата(pipka @  3.5.2006,  09:52 Найти цитируемый пост)
теперь нада прально расставить сцылки на линки %) 

и ? чего же не расставляешь? smile 

Автор: pipka 3.5.2006, 22:31
Цитата(Wowa @ 3.5.2006,  22:26)
Цитата(pipka @  3.5.2006,  09:52 Найти цитируемый пост)
теперь нада прально расставить сцылки на линки %) 

и ? чего же не расставляешь? smile

не расставляются.

Код

if ($result = mysql_query($images)) {
        echo "<table><tr>";
        echo "<tr align=center><td align=center>";
        print "Seite:\n";
        for ( $i = 0; $i < $number_of_page; $i ++ ) {
            print '<a href=?l='.$lang.'&kategorie='.$kategorie.'&page='.$i.'>'.$i.'</a> ';
        }
        echo "</td></tr>";
        while ($row = mysql_fetch_array($result)) {
            if ($j == $cols) {
                echo "</tr>";
                $j = 0;
            }
            echo "<td><a href=\"javascript:imgopen('".$imgo_src."{$row['g_img']}')\"><img src='".$imgk_src."{$row['k_img']}' border=\"0\" alt=\"Klicken!!! um vergroessern\"></a><br>{$row['name'.$sprache]}<br>{$row['kommentar'.$sprache]}</td>";
            $j++;
        }
        echo "<tr align=center><td align=center>";
        print "Seite:\n";
        for ( $i = 0; $i < $number_of_page; $i ++ ) {
            print '<a href=?l='.$lang.'&kategorie='.$kategorie.'&page='.$i.'>'.$i.'</a> ';//??? ???-?? ???????, ???? ???????? ??????
        }
        echo "</td></tr>";
        echo "</table>";
    }


 
получается что изначальная страница 0 у меня, и там как бы 1ая, а на 1ой вторая, но линки с ошибками. 

Автор: PARROT 3.5.2006, 22:48
Код

<?
$res4=mysql_query("select count(id) from review WHERE parent='$idp'");
$num=mysql_fetch_row($res4);
$numstr=ceil($num[0]/10);
echo "<table align=center><tr><td style=padding-left:30>Страницы: ($numstr)</td>";
for($i=1; $i<=$numstr; $i++){
$start=($i-1)*10;
if ($start==$s OR ($s==0 AND $i==1))
$st="<a class=1 href=index.php?page=comment&idp=$idp&s=$start><font color=#C1CACF>[$i]</font></a>";
        else $st="<a href=index.php?page=comment&idp=$idp&s=$start><font color=#C1CACF>[$i]</font></a>";
        print "<td>".$st."</td> ";
}
?>

Где если страницы нет, то она равна нулю всегда.
Код

if (!isset($s)) $s=0;//счетчик страниц  
 

Автор: pipka 3.5.2006, 22:53
Это альтернативное решение ? ;) 

Автор: pipka 3.5.2006, 23:09
не очень мне понятно твоё решение если применять ко мне smile 

Автор: Wowa 3.5.2006, 23:14
пиши, что именно непонятно. Не будем же мы давать готовый код? smile Так неинтересно будет smile) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)