Autor | Zpráva | ||
---|---|---|---|
Jozefe Profil * |
#1 · Zasláno: 20. 1. 2008, 16:19:14
<?php require "check_user.php"; require "db.php"; $max=20; $pocet=mysql_result(mysql_query("SELECT count(user_id) FROM users ORDER BY login_hit DESC"),0); $str=ceil($pocet / $max); @$strana2 = (int)$_GET['strana']; $strana = $strana2 * $max; $vyber=mysql_query("SELECT * FROM users ORDER BY login_hit DESC LIMIT $strana, $max"); $counter=1; echo " <table> <tr> <th colspan=3 rowspan=1>Najviac prihlásený Useri</th> </tr> <tr> <td></td><td><b>User</b></td><td><b>Prihlásení</b></td> </tr> "; while($vypis=mysql_fetch_array($vyber)) { echo "<tr>"; if ($_SESSION['user_id'] == $vypis['user_id'] and $_SESSION['user'] == $vypis['user']){ echo "<td class=seda>$counter</td><td class=seda><a href=index.php?page=user&id=".$vypis['user_id'].">".$vypis['user']."</ a></td><td class=seda>".$vypis['login_hit']."</td>"; }else{ echo "<td>$counter</td><td><a href=index.php?page=user&id=".$vypis['user_id'].">".$vypis['user']."</ a></td><td>".$vypis['login_hit']."</td>"; } $counter++; echo "</tr>"; } echo "</table>"; ?> <div class=obsah_info> <?php if($str>1){ for($i=0;$i<$str;$i++){ if($i == $strana2){ echo "<b>".($i+1)."</b> "; }else{ echo " <a href=indexphp?page=statistika_full&id=".$id."&strana=".($i)."#str '>".($i+1)."</a> "; } } }else{ echo "<b>1</b>"; } ?> </div> problem je v tom ze ked vojdem na stranku dva pocita sa zase od 1-20 ... napriklad som na prvej vypise mi userov s counter 1-20 dam stranku 2 a to iste iba z inymi usermi ako sa to da urobyt aby sa pisalo na druhej od 20-30 a tak dalej ? |
||
peta Profil |
#2 · Zasláno: 21. 1. 2008, 16:26:01
celkem = SELECT COUNT ... 100
zobrazitmax = 20 (<-SESSION/GET...) stran = celkem/zobrazitmax ... 5 strana = 3 (<-SESSION/GET...) echo strana/stran... 3/5 zaznamy zaznam_od = strana*zobrazit_max - 1; zaznam_pocet = zobrazit_max; SELECT ... LIMIT zaznam_od, zaznam_pocet chyby stran = celkem/zobrazitmax --- max<=celkem a max>0 zaznam_od = strana*zobrazit_max - 1; --- zaznam_od<celkem (mozna celkem-1) |
||
Harwen Profil |
#3 · Zasláno: 21. 1. 2008, 17:20:12
<?
$vr = 20; // pocet záznamů na stranku if ($v == "") $v = 0; $vp = $v * $vr; // vytvoří proměnou $num_results, která obsahuje počet řádků db $pocet = mysql_query(select * from `db`) // napoji se do db a ma vyhledat vzdy prispevky, ktere budou zobrazny $query = "SELECT * FROM `db` LIMIT $vp,$vr"; $num_results = mysql_num_rows($pocet); // proměná $a symbolizuje proměnou $v. Je vytvořena, aby ji nahradila (kdyby tady byla proměna $v, tak by se pletli) $a=$vp + 1; // podobně jako proměná $a $x=($a-1)+$vr; // kdyby nahodou byla proměná vetsi nez počet řádků v db, vypadalo by to blbě, proto je zde určen maximu, co muze // proměná $x mít if ($x>$num_results) $x=$num_results; ?> <? // jen výpis echo 'Záznamů: '.$a.' - '.$x.' z celkem '.$num_results.' '; // listovani ve vypise if ($v==0) echo "Nejnovější | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?v=".($v==0)."\">Nejnovější</a> |& nbsp;"; if ($vp < $vr) echo "Novější | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?v=".($v-1)."\">Předchozí</a> |&nb sp;"; if ($v * $vr + $vr >$num_results) echo "Starší | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?v=".($v+1)."\">Následující</a> |& nbsp;"; if ($vp>$num_results-$vr) echo "Nejstarší <br />"; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?v=".(floor($num_results/$vr))."\">Nejs tarší</a><br />"; ?> Můj způsob. Doufám, že to je pochopitelný :-) |
||
Jozefe Profil * |
#4 · Zasláno: 21. 1. 2008, 20:05:18
diky ale nemyslel sem to myslel sem ten counter ze kdys zobrazim stranku dva de counter zase od jedna uz mi to de vyresil sem to takhle
$counter=1+1*$strana; |
||
Časová prodleva: 16 let
|
0