Странициране на всички регистрирани потребители

ReD_z0n3

Registered
Някой може ли да ми сложи странициране на този код , който изкарва регистрираните потребителя.

PHP:
<?
ob_start();
include("config.php");
if (!$_GET[user])
{
$getuser = mysql_query("SELECT * from users order by id asc");
while ($user = mysql_fetch_array($getuser))
{
// gets all the users information.
echo ("<a href=\"members.php?user=$user[username]\">$user[username]</a><br />\n");
// links to a page to view the user's profile.
}
}
ELSE
{
$getuser = mysql_query("SELECT * from users where username = '$_GET[user]'");
$usernum = mysql_num_rows($getuser);
if ($usernum == 0)
{
echo ("Няма потребители");
}
else
{
$profile = mysql_fetch_array($getuser);
echo ("<center><b>Профила на: $profile[username]</b><br /></center><br />
<img src='$profile[avatars]' height='150' width='150'><br />
<b>Скайп</b>: $profile[msn]<br />
<b>Уеб сайт</b>: $profile[aim]<br />
<b>Град</b>: $profile[location]<br />
<b>Email адрес</b>: $profile[email]");
// in the above code, we display the user's information.
}
}
?>
 
PHP:
<?php
[color=red]$the_limit = "3";
$the_query = "SELECT * FROM news GROUP BY id DESC";[/color]
$listed = "Начало --<br>"; 
$listed_end = "-- Край";
$page = trim((int)$_GET['page']);
if(is_numeric($page)){  
$page = $page * $the_limit; 
if( (!$page) or ($page == "0") ){  
$a = "0"; 
$b = $the_limit; 
} else { 
$a = $page; 
$b = $a + $the_limit; 
} 
} else { 
$a = "0"; 
$b = $the_limit; 
} 


$query = $the_query." limit $a, $the_limit"; 
$result = mysql_query($query, $conn) or die (mysql_error()); 
$result_all = mysql_query($the_query, $conn) or die (mysql_error()); 
$num_all = mysql_num_rows($result_all);
while($red = mysql_fetch_array($result)){ 
[color=red]$listed.= $red['date']."<br>";
$listed.= $red['news']."<br><br>"; [/color]
} 
$num_pages = ceil($num_all / $the_limit);
for($i=0;$i<$num_pages;$i++){ 
$name = $i; 
$name++; 
if($name != $num_pages){ 
$last = " | "; 
} else $last = ""; 


$pages.= "<a href=\"?page=".$i."\">".$name."</a>".$last; 
}
echo "Показване на резултати от ".$a." до ".$b."<br /><br />"; 
echo $listed.$listed_end; 
echo "<br /><br />"; 
echo $pages;
?>
Ето това е едно много лесно странициране като трябва да промениш само някой дребни работи за да ти стане
 
Ако съм те разбрал правилно
Код:
<?
ob_start();
include("config.php");
$page = $_GET['page'];
if ($page == 0 || $page == NULL || $page < 0)
{
    $page = 1;
}
$pp = 2;
$start = ($page*$pp) - $pp;
$query = mysql_query("SELECT * FROM users") or die (mysql_error());
$broi = mysql_num_rows($query);
$total = ceil($broi/$pp);
if (!$_GET['user'])
{
$getuser = mysql_query("SELECT * from users order by id DESC LIMIT $start,$pp");
while ($user = mysql_fetch_array($getuser))
{
// gets all the users information.
echo ("<a href=\"members.php?user=$user[username]\">$user[username]</a><br />\n");
// links to a page to view the user's profile.
}
echo"</tbody></table><div class='success'><table><tr>";
if ($page > 1) { 
$prev = ($page - 1); 
echo "<td class='mbord'><a href=\"members.php?$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=\"members.php?".$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=\"members.php?".$i."\" >".$i."</a></td> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo " <td class='mbord'> <a href=\"members.php?4\">4</a></td> "; 
echo " <td class='mbord'>...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href=\"members.php?".$i."\">".$i."</a></td>"; 
} 
if ($page == 5) $parva.= " <td class='mbord'><a href=\"members.php?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=\"members.php?".$i."\">".$i."</a></td>"; 
} 
echo "<td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href=\"members.php?".$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=\"members.php?".$i."\">".$i."</a></td>"; 
} 
echo " <td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'> <a href=\"members.php?".$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=\"members.php?".$i."\">".$i."</a></td> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<td class='mbord'>  <a href=\"members.php?$next\">Следваша</a></td>"; 
} 
print "<tr></table><table><tr><td class='mbord'>  Страница $page от $total</td><tr></table>";

}
ELSE
{
$getuser = mysql_query("SELECT * from users where username = '$_GET[user]'");
$usernum = mysql_num_rows($getuser);
if ($usernum == 0)
{
echo ("Няма потребители");
}
else
{
$profile = mysql_fetch_array($getuser);
echo ("<center><b>Профила на: $profile[username]</b><br /></center><br />
<img src='$profile[avatars]' height='150' width='150'><br />
<b>Скайп</b>: $profile[msn]<br />
<b>Уеб сайт</b>: $profile[aim]<br />
<b>Град</b>: $profile[location]<br />
<b>Email адрес</b>: $profile[email]");
// in the above code, we display the user's information.
}
}
?>
 
ReD_z0n3 каза:
Не ми помагаш ....

Е хубаво де моя код ще ти извади всички потребители като му зададеш по колко да са на страница като му дадеш таблицта ще вземе всички от таблицата и след това ще ги подреди като ще извади информация за всеки потребител от полетата който ти му кажеш.
 
bankera1990 каза:
Ако съм те разбрал правилно
Код:
<?
ob_start();
include("config.php");
$page = $_GET['page'];
if ($page == 0 || $page == NULL || $page < 0)
{
    $page = 1;
}
$pp = 2;
$start = ($page*$pp) - $pp;
$query = mysql_query("SELECT * FROM users") or die (mysql_error());
$broi = mysql_num_rows($query);
$total = ceil($broi/$pp);
if (!$_GET['user'])
{
$getuser = mysql_query("SELECT * from users order by id DESC LIMIT $start,$pp");
while ($user = mysql_fetch_array($getuser))
{
// gets all the users information.
echo ("<a href="members.php?user=$user[username]">$user[username]</a><br />\n");
// links to a page to view the user's profile.
}
echo"</tbody></table><div class='success'><table><tr>";
if ($page > 1) { 
$prev = ($page - 1); 
echo "<td class='mbord'><a href="members.php?$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="members.php?".$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="members.php?".$i."" >".$i."</a></td> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo " <td class='mbord'> <a href="members.php?4">4</a></td> "; 
echo " <td class='mbord'>...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="members.php?".$i."">".$i."</a></td>"; 
} 
if ($page == 5) $parva.= " <td class='mbord'><a href="members.php?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="members.php?".$i."">".$i."</a></td>"; 
} 
echo "<td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'><a href="members.php?".$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="members.php?".$i."">".$i."</a></td>"; 
} 
echo " <td class='mbord'> ...</td> "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<td class='mbord'> <a href="members.php?".$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="members.php?".$i."">".$i."</a></td> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<td class='mbord'>  <a href="members.php?$next">Следваша</a></td>"; 
} 
print "<tr></table><table><tr><td class='mbord'>  Страница $page от $total</td><tr></table>";

}
ELSE
{
$getuser = mysql_query("SELECT * from users where username = '$_GET[user]'");
$usernum = mysql_num_rows($getuser);
if ($usernum == 0)
{
echo ("Няма потребители");
}
else
{
$profile = mysql_fetch_array($getuser);
echo ("<center><b>Профила на: $profile[username]</b><br /></center><br />
<img src='$profile[avatars]' height='150' width='150'><br />
<b>Скайп</b>: $profile[msn]<br />
<b>Уеб сайт</b>: $profile[aim]<br />
<b>Град</b>: $profile[location]<br />
<b>Email адрес</b>: $profile[email]");
// in the above code, we display the user's information.
}
}
?>

Не работи. Изкарва отново всички потребители на всички страници...
 
кое не работи страницизирането ли погледни линковете към следващата страница
я замени members.php?".$i." с members.php&".$i."
на всякъде, където имаш ? го замени на &
 
Показва ми , само първата страница . След това , като цъкна страница 2 ми дава , че няма такава страница.
 
това ти е линка members.php?".$i." като ".$i." ти взема 2,3,4,5... страница виж дали линка ти е точно members.php или е др. и дали добавя няква нова стойност дали някво id или каквото и да е
 
Ето ти примерен код за странициране, ти си го настрой :

Това е самата заявка:
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>';
                                ?>
 
jaaljr.jpg

не знам какво не ти харесва но да ти споделя че е доста практично.
Но както си решиш ти
 
bankera1990 каза:
jaaljr.jpg

не знам какво не ти харесва но да ти споделя че е доста практично.
Но както си решиш ти

Погледни при мен , как излизат.

3234615m.jpg


Така е на всички страници от 1 до 5 , само аз и Go0dLike

3234619T.jpg
 
Позволих си малко да ти редактирам кода. :)

Ето ти го, тествах го и работи всичко:

Код:
<?
ob_start();
include("config.php");
?>
<?php
$thispage = $PHP_SELF;

$showeachside = 5; //  Колко страници да се показват отляво и отдясно на текущата страница

// Колко реда на страница
$rowsPerPage = 31;

// Подразбираме показване на първа страница
$pageNum = 1;

// ако $_GET['page'] е дифинирано използваме тази страница
if(isset($_GET['page']) and is_numeric($_GET['page']))
{
    $pageNum = $_GET['page'];
}

// пресмятаме отместването
$offset = ($pageNum - 1) * $rowsPerPage;

// тук трябва да напишеш своята заявка
    $query = "SELECT * FROM users ORDER BY ID LIMIT $offset, $rowsPerPage";
  $result = mysql_query($query) or die(mysql_error()."[".$query."]");
if(mysql_num_rows($result)>0)
{
echo '<table border="0" cellspacing="2" cellpadding="2"><tr><td><b></b></td></tr>';
 while($profile = mysql_fetch_array($result)) { 
?>
<center><b>Профила на: <a href="members.php?user=<? echo $profile['username']; ?>"><? echo $profile['username']; ?></a></b><br /></center><br />
<img src='<? echo $profile['avatars']; ?>' height='150' width='150'><br />
<b>Скайп</b>: <? echo $profile['msn']; ?><br />
<b>Уеб сайт</b>: <? echo $profile['aim']; ?><br />
<b>Град</b>: <? echo $profile['location']; ?><br />
<b>Email адрес</b>: <? echo $profile['email']; ?>
<?
 }
echo '</table>';
}
else
{
echo 'Няма регистрирани потребители...';
}

// колко реда общо имаме ?
$query1   = "SELECT COUNT(id) AS numrows FROM users";
$result  = mysql_query($query1) or die('Error, query failed');
$row     = mysql_fetch_array($result, MYSQL_ASSOC);

$num = $row['numrows']; // броя на редовете

$start = ($pageNum -1) * $rowsPerPage;
if(empty($start))$start=0;  // текуща стартова позиция

$max_pages = ceil($num/$rowsPerPage); // брой на страниците
$cur = ceil($start/$rowsPerPage)+1; // текуща страница
?>

<table border="0" cellpadding="0" cellspacing="0">
    <tr>

        <td align="center" valign="middle">
            <?php
            if(($start-$rowsPerPage) >= 0)
            {
                $next = $cur - 1;
                ?>
                <a class="page" href="<?php print("$thispage?members.php&page=1");?>">Първа</a>
                <a class="page" href="<?php print("$thispage".($next>0?("members.php&page=").$next:""));?>">Назад</a>
                <?php
            }
            ?>
        </td>


        <td align="center" valign="middle">
            <table>
                <tr>
                    <td colspan="3" align="center" valign="middle">
                        <?php
                        $eitherside = ($showeachside * $rowsPerPage);
                        if($start+1 > $eitherside)print (" .... ");
                        $pg=1;
                        for($y=0;$y<$num;$y+=$rowsPerPage)
                        {
                            $class=(($y==$start)?"active":"")."page";
                            if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
                            {
                                if ($y <> $start) {
                                    ?>
                                     <a class="<?php print($class);?>" href="<?php print("$thispage"."members.php&page=".(($y/$rowsPerPage)+1));?>"><?php print($pg);?></a> 
                                    <?php
                                } else {
                                    ?>
                                     <a class="<?php print($class);?>"><?php print($pg);?></a> 
                                    <?php
                                }
                            }
                            $pg++;
                        }
                        if(($start+$eitherside)<$num)print (" .... ");
                        ?>
                    </td>

                </tr>
            </table>
        </td>


        <td align="center" valign="middle">
            <?php
            if (($start+$rowsPerPage) < $num)
            {
                $next = $cur + 1;
                ?>
                <a class="page" href="<?php print("$thispage?members.php&page=".$next);?>">Напред</a>
                <a class="page" href="<?php print("$thispage?members.php&page=$max_pages");?>">Последна</a>
                <?php
            }
            ?>
 
Код:
members.php&page=2

Код:
Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.
Error 404
127.0.0.1
04/17/11 17:57:39
Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6


ето това ми показва , когато се опитам да цъкна на 2-ра страница.


EDIТ Когато отворя по този начин: members.php?members.php&page=3 всичко е точно :^)

EDIT2: Оправих се +1 :)
 

Back
Горе