Autor | Zpráva | ||
---|---|---|---|
david80 Profil * |
#1 · Zasláno: 6. 2. 2010, 18:54:26
Našel jsem tady snad tisíc návodů, ale stejně to nějak nemůžu dát dohromady.
Mám tento kod který bych potřeboval stránkovat - <?php function connect() { include "configs/script_config.php"; } $vysledek = "select odkaz from venku order by id desc limit 20;"; connect(); $link = mysql_query($vysledek); while ( $row=mysql_fetch_row($link) ) { $FORM .= " <td class='Stil5'>$row[0]</td> "; } mysql_close(); echo $FORM; ?> Tak jsem si tady našel tento kod ale nic se mi nezobrazí - <?php function connect() { include "configs/script_config.php"; } $zaznamu_na_stranku = 10; $sql_strankovani = "select odkaz from venku"; $query_strankovani = mysql_query($sql_strankovani); $pocet = mysql_num_rows($query_strankovani); $max_stranka = ceil($pocet/$zaznamu_na_stranku) + 1; for($i=1; $i < $max_stranka; $i++) { if(!$stranka) { $stranka = 1; } if($i == $stranka) { echo "<b>$i</b>"; } else { echo '<a href="'.$PHP_SELF.'?stranka='.$i.'">'.$i.'</a>'; } } //nacteni z db $zacatek = $stranka * $zaznamu_na_stranku - $zaznamu_na_stranku; $sql = "select * from prikazy limit ".$zacatek.",".$zaznamu_na_stranku; $query = mysql_query($sql); while($zaznam = mysql_fetch_array($query)) { echo ' <tr> <td> <b>'.$zaznam["id"].'</b> </td> <td>'. $zaznam["typ"].' </td> <td>'. $zaznam["prikaz"].' </td> <td>'. $zaznam["popis"].' </td> </tr> '; }; ?> Mohl by mi s tím někdo pomoct? Nebo nějak upravit tyto kódy, aby mi to stránkovalo prosím? Už to zkouším podle různých návodů od rána, ale pořát bez výsledku. |
||
SwimX Profil |
#2 · Zasláno: 6. 2. 2010, 19:22:12
david80:
Vkládej kódy mezi značky PRE stačí kliknout na Jinak stránkování: používám todle, myslím že je to dost jednoduché i jasné. <?php // zjistime jestli nekde jsme, jinak první strana if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x $strana = is_numeric($_GET['strana'])?$_GET['strana']:1; } else $strana = 1; // zjistíme počet záznamů v tabulce $celkem_radek = mysql_result(mysql_query("SELECT COUNT(*) from diskuze "), 0); if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic $pocet = 6; // počet řádek na stánku $od = ($strana-1) * $pocet; $limit = "limit $od, $pocet"; $cl=mysql_query("SELECT * FROM diskuze $limit;"); strankovani($pocet, 5, "?strana=", $strana, $celkem_radek); } function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){ if ($celkem_radek<=$pocet_radek) return; echo "<p class='pages'>"; if ($strana == 1) { echo "Začátek | "; echo "Předchozí | "; } else { echo "<a href=\"".$url."1\">Začátek</a> | "; echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a> | "; } if($strana - $okolo > 1) echo "... | "; for($i = $okolo; $i > 0; $i--){ if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a> | ";; } echo $strana." | "; $posledni_strana = ceil($celkem_radek/$pocet_radek); for($i = 1; $i <= $okolo; $i++){ if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a> | "; } if($strana + $okolo < $posledni_strana) echo "... | "; if ($posledni_strana == $strana) { echo "Následující | "; echo "Konec"; } else { echo "<a href=\"".$url.($strana+1)."\">Následující</a> | "; echo "<a href=\"".$url.$posledni_strana."\">Konec</a>"; } echo "</p>"; } ?> |
||
david80 Profil * |
#3 · Zasláno: 6. 2. 2010, 19:44:16
Toto jsem tady taky našel, zkusil jsem to tedy znovu, ale objeví se mi jen prázdná stránka, už fakt nevím co s tím. Přitom ten první kod, co jsem sem dával bezproblémů funguje, ale tohle už ne
<?php function connect() { include "configs/script_config.php"; } // zjistime jestli nekde jsme, jinak první strana if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x $strana = is_numeric($_GET['strana'])?$_GET['strana']:1; } else $strana = 1; // zjistíme počet záznamů v tabulce $celkem_radek = mysql_result(mysql_query("SELECT COUNT(odkaz) from venku "), 0); if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic $pocet = 6; // počet řádek na stánku $od = ($strana-1) * $pocet; $limit = "limit $od, $pocet"; $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;"); strankovani($pocet, 5, "?strana=", $strana, $celkem_radek); } function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){ if ($celkem_radek<=$pocet_radek) return; echo "<p class='pages'>"; if ($strana == 1) { echo "Začátek | "; echo "Předchozí | "; } else { echo "<a href=\"".$url."1\">Začátek</a> | "; echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a> | "; } if($strana - $okolo > 1) echo "... | "; for($i = $okolo; $i > 0; $i--){ if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a> | ";; } echo $strana." | "; $posledni_strana = ceil($celkem_radek/$pocet_radek); for($i = 1; $i <= $okolo; $i++){ if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a> | "; } if($strana + $okolo < $posledni_strana) echo "... | "; if ($posledni_strana == $strana) { echo "Následující | "; echo "Konec"; } else { echo "<a href=\"".$url.($strana+1)."\">Následující</a> | "; echo "<a href=\"".$url.$posledni_strana."\">Konec</a>"; } echo "</p>"; } ?> |
||
SwimX Profil |
#4 · Zasláno: 6. 2. 2010, 19:48:01
david80:
„ale objeví se mi jen prázdná stránka“ a kde máš výpis článků? :) |
||
SwimX Profil |
#5 · Zasláno: 6. 2. 2010, 19:49:33 · Upravil/a: SwimX
Přidej sem:
if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic $pocet = 6; // počet řádek na stánku $od = ($strana-1) * $pocet; $limit = "limit $od, $pocet"; $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;"); /* ******************************* */ while ( $row=mysql_fetch_row($cl) ) { $FORM .= " <td class='Stil5'>$row[0]</td> "; } echo $FORM; /* ***************************** */ strankovani($pocet, 5, "?strana=", $strana, $celkem_radek); } |
||
david80 Profil * |
#6 · Zasláno: 6. 2. 2010, 20:37:51
I tak se mi objeví jen prázdná stránka, nemůže tam být někde chyba?
|
||
SwimX Profil |
#7 · Zasláno: 6. 2. 2010, 20:51:25
david80:
zřejmě bude, jak to teď vypadá, ukaž. |
||
david80 Profil * |
#8 · Zasláno: 6. 2. 2010, 21:05:41
Koukni prosím i jestli jsem správně vyplnil tabulku v db a sloupec, jestli je to všude kde to má být. Snažím se z tabulky "venku" vytáhnout data ze sloupce "odkaz" srovnané podle "id" a to od největšího po nejmenší. Díky
<?php function connect() { include "configs/script_config.php"; } if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x $strana = is_numeric($_GET['strana'])?$_GET['strana']:1; } else $strana = 1; // zjistíme počet záznamů v tabulce $celkem_radek = mysql_result(mysql_query("SELECT COUNT(odkaz) from venku "), 0); if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic $pocet = 6; // počet řádek na stánku $od = ($strana-1) * $pocet; $limit = "limit $od, $pocet"; $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;"); while ( $row=mysql_fetch_row($cl) ) { $FORM .= " <td class='Stil5'>$row[0]</td> "; } echo $FORM; strankovani($pocet, 5, "?strana=", $strana, $celkem_radek); } function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){ if ($celkem_radek<=$pocet_radek) return; echo "<p class='pages'>"; if ($strana == 1) { echo "Začátek | "; echo "Předchozí | "; } else { echo "<a href=\"".$url."1\">Začátek</a> | "; echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a> | "; } if($strana - $okolo > 1) echo "... | "; for($i = $okolo; $i > 0; $i--){ if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a> | ";; } echo $strana." | "; $posledni_strana = ceil($celkem_radek/$pocet_radek); for($i = 1; $i <= $okolo; $i++){ if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a> | "; } if($strana + $okolo < $posledni_strana) echo "... | "; if ($posledni_strana == $strana) { echo "Následující | "; echo "Konec"; } else { echo "<a href=\"".$url.($strana+1)."\">Následující</a> | "; echo "<a href=\"".$url.$posledni_strana."\">Konec</a>"; } echo "</p>"; } ?> |
||
SwimX Profil |
#9 · Zasláno: 6. 2. 2010, 21:11:45
david80:
todle vypadá dobře. Pokud existují nějaké záznamy v tabulce tak nevidím důvod aby se to nevypsalo :) |
||
david80 Profil * |
#10 · Zasláno: 6. 2. 2010, 21:32:36
Záznamy tam jsou, ten první kod co jsem sem dal, tak data zobrazuje, ale tenhle už ne.
|
||
SwimX Profil |
#11 · Zasláno: 6. 2. 2010, 21:45:00
david80:
dej na řádek 23 echo $limit; a za dotaz na řádek 25 echo mysql_error(); Co to vypíše?
|
||
fajzen Profil |
#12 · Zasláno: 7. 2. 2010, 12:17:20
david80:
nikde nevidím, že by si tú funkciu connect() aj volal |
||
david80 Profil * |
#13 · Zasláno: 7. 2. 2010, 12:52:12
Ted jsem na to zrovna koukal, poradil by jsi kam všude funkci connect() připsat? Budu to zkoušet vymyslet sám, ale jsem v tom začátečník takže to může být zase klidně na půl dne :-)
|
||
panther Profil |
#14 · Zasláno: 7. 2. 2010, 12:56:59
david80:
„poradil by jsi kam všude funkci connect() připsat?“ jednou a to hned na začátek scriptu. Vícekrát se k DB připojovat nemusíš. |
||
david80 Profil * |
#15 · Zasláno: 7. 2. 2010, 13:10:42
Děkuju všem za rady, už to jede :-)
|
||
Časová prodleva: 14 let
|
0