Помощ със странициране

feweR

Registered
Пробвах се няколко пъти, но не успявах и реших да пиша тема. Ще може ли да направите странициране на този код:

PHP:
<?php
$sql = mysql_query("SELECT * FROM chatbox ORDER BY id DESC") or die (mysql_error());

while($row = mysql_fetch_assoc($sql)){
$uid = $bitfield = $options = '';
$allow_bbcode = $allow_urls = $allow_smilies = true;
generate_text_for_storage($row[text], $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
$text = generate_text_for_display($row[text], $uid, $bitfield, $options);
echo "
 <img src='img/chat.png'><b><font color=red>$row[avtor]</font></b><br />
 <b><font color=gray>$row[date]</font></b><br />
 $text<br />
";
}
echo "<br />";
?>
 
аз кода съм го дал тази част от него която трябва да се страницира ... другата не ти трябва :P ;)
 
Ще ти дам примерен код.

Ето заявката:

PHP:
 $rs1=run_q('SELECT COUNT(*) as cnt FROM news');
                                $row1=mysql_fetch_assoc($rs1);
                                $max_count=$row1['cnt'];
                                $limit=4;
                                if((int)$_GET['page']>0)
                                {
                                    $page=(int)$_GET['page']-1;
                                }
                                else
                                {
                                    $page=0;
                                }

                                $max_pages=ceil($max_count/$limit);
$rs=run_q('SELECT * FROM news order by date DESC LIMIT '.($limit*$page).','.$limit.'');

Тук е самото странициране:

PHP:
 <?php
                             echo '<div id="pagine">';
                                    for($i=0;$i<$max_pages;$i++)
                                    {
                                        if($i==$page)
                                        {
                                            echo '<a class="page">'.($i+1).'</a> ';
                                        }
                                        else
                                        {
                                            echo ' <a href="index.php?id=1&page='.($i+1).'" class="page" >'.($i+1).'</a>';
                                        }


                                    }
                                    echo '</div>';
                                ?>
 
feweR каза:
Пробвах се няколко пъти, но не успявах и реших да пиша тема. Ще може ли да направите странициране на този код:

PHP:
<?php
$page = $_GET['page'];
if ($page == 0 || $page == NULL || $page < 0)
{
    $page = 1;
}
$pp = 5; // броя на записите, който ще са на страница
$start = ($page*$pp) - $pp;
$query = mysql_query("SELECT * FROM chatbox  where id") or die (mysql_error());
$broi = mysql_num_rows($query);
$total = ceil($broi/$pp);
$sql = mysql_query("SELECT * FROM chatbox where id" .
" ORDER BY id DESC LIMIT $start,$pp") or die (mysql_error());

while($row = mysql_fetch_assoc($sql)){
$uid = $bitfield = $options = '';
$allow_bbcode = $allow_urls = $allow_smilies = true;
generate_text_for_storage($row[text], $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
$text = generate_text_for_display($row[text], $uid, $bitfield, $options);
echo "
 <img src='img/chat.png'><b><font color=red>$row[avtor]</font></b><br />
 <b><font color=gray>$row[date]</font></b><br />
 $text<br />
";
}
echo "<br />";
echo"<table align="center"><tr>";
if ($page > 1) { 
$prev = ($page - 1); 
echo "<td class='mbord'><a href="Чат.пхп?$prev">Предишна</a></td> "; 
} 
else echo ""; 

if (!$page or ($page > $total)) { 
$page="1"; 
} 

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<td class='mbord'>$i</td>"; 
} 
else { 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<td class='mbord'>$i</td> "; 
} 
else { 
echo "<td class='mbord'><a href="Чат.пхп?".$i."" >".$i."</a></td> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo " <td class='mbord'> <a href="Чат.пхп?4">4</a></td> "; 
echo " <td class='mbord'>...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
if ($page == 5) $parva.= " <td class='mbord'><a href="Чат.пхп?4">4</a></td>"; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<td class='mbord'>$i</td> "; 
else echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
echo "<td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo " <td class='mbord'>...</td> "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<td class='mbord'>$i</td> "; 
else echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
echo " <td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 

if ( $page > ($total - 5) ) { 
echo " <td class='mbord'> ... </td>"; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<td class='mbord'> $i</td> "; 
else echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<td class='mbord'>  <a href="Чат.пхп?$next">Следваша</a></td>"; 
} 
print "<tr></table><table align="center"><tr><td class='mbord'>  Страница $page от $total</td><tr></table>";
?>
на мястото на Чат.пхп слагаш името на твоя файл дали ще е chat.php дали е chatbox.php както и да е там и виж ако не изкарва записи при page2 замести Чат.пхп?$next с Чат.пхп&$next
 
bankera1990 каза:
feweR каза:
Пробвах се няколко пъти, но не успявах и реших да пиша тема. Ще може ли да направите странициране на този код:

PHP:
<?php
$page = $_GET['page'];
if ($page == 0 || $page == NULL || $page < 0)
{
    $page = 1;
}
$pp = 5; // броя на записите, който ще са на страница
$start = ($page*$pp) - $pp;
$query = mysql_query("SELECT * FROM chatbox  where id") or die (mysql_error());
$broi = mysql_num_rows($query);
$total = ceil($broi/$pp);
$sql = mysql_query("SELECT * FROM chatbox where id" .
" ORDER BY id DESC LIMIT $start,$pp") or die (mysql_error());

while($row = mysql_fetch_assoc($sql)){
$uid = $bitfield = $options = '';
$allow_bbcode = $allow_urls = $allow_smilies = true;
generate_text_for_storage($row[text], $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
$text = generate_text_for_display($row[text], $uid, $bitfield, $options);
echo "
 <img src='img/chat.png'><b><font color=red>$row[avtor]</font></b><br />
 <b><font color=gray>$row[date]</font></b><br />
 $text<br />
";
}
echo "<br />";
echo"<table align="center"><tr>";
if ($page > 1) { 
$prev = ($page - 1); 
echo "<td class='mbord'><a href="Чат.пхп?$prev">Предишна</a></td> "; 
} 
else echo ""; 

if (!$page or ($page > $total)) { 
$page="1"; 
} 

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<td class='mbord'>$i</td>"; 
} 
else { 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<td class='mbord'>$i</td> "; 
} 
else { 
echo "<td class='mbord'><a href="Чат.пхп?".$i."" >".$i."</a></td> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo " <td class='mbord'> <a href="Чат.пхп?4">4</a></td> "; 
echo " <td class='mbord'>...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
if ($page == 5) $parva.= " <td class='mbord'><a href="Чат.пхп?4">4</a></td>"; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<td class='mbord'>$i</td> "; 
else echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
echo "<td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo " <td class='mbord'>...</td> "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<td class='mbord'>$i</td> "; 
else echo "<td class='mbord'><a href="Чат.пхп?".$i."">".$i."</a></td>"; 
} 
echo " <td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 

if ( $page > ($total - 5) ) { 
echo " <td class='mbord'> ... </td>"; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<td class='mbord'> $i</td> "; 
else echo "<td class='mbord'> <a href="Чат.пхп?".$i."">".$i."</a></td> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<td class='mbord'>  <a href="Чат.пхп?$next">Следваша</a></td>"; 
} 
print "<tr></table><table align="center"><tr><td class='mbord'>  Страница $page от $total</td><tr></table>";
?>
на мястото на Чат.пхп слагаш името на твоя файл дали ще е chat.php дали е chatbox.php както и да е там и виж ако не изкарва записи при page2 замести Чат.пхп?$next с Чат.пхп&$next

Стана с твоя начин ни линковете трябваше да са
PHP:
?page=
благодаря много ;) +1
 

Back
Горе