Autor | Zpráva | ||
---|---|---|---|
Pupen Profil * |
#1 · Zasláno: 10. 10. 2010, 12:52:26
Víte někdo jak udělat vyhledávač výrazu u výpisu z DB se stránkováním. Když jsem to zkoušel tak mi to vyhledávalo, ale jen z těch 10 výsledků na stránce.
|
||
LosFilipos Profil |
#2 · Zasláno: 10. 10. 2010, 13:06:05
Tam je problém s tím, že pokud používáš metodu $_POST tak ta se při přechodu na jinou stránku ruší, tzn., že vyledávač nemá co hledat. Řešením je vložit hledaný výraz buď přes $_GET, nebo $_SESSION.
|
||
Pupen Profil * |
#3 · Zasláno: 10. 10. 2010, 13:10:11
Neveděl byste nějaký návod nebo něco takového?
|
||
Keeehi Profil |
#4 · Zasláno: 10. 10. 2010, 13:15:41
Co třeba hledat.
|
||
LosFilipos Profil |
#5 · Zasláno: 10. 10. 2010, 13:31:05
Vyhledávač:
<form action="search.php" method="post"> Hledaný výraz: <input type="text" name="hledany_vyraz" /> <input type="submit" value="Hledat" /> </form> search.php $_SESSION["hledany_vyraz"] = $_POST["hledany_vyraz"]; $search = mysql_real_escape_string($_SESSION["hledany_vyraz"]); $PZS = 10; // počet záznamů na stránku $str = 1; // první strana if(isset($_GET["str"]) && $_GET["str"] > 0) {$str = $_GET["str"];} $start = ($str - 1) * $PZS; $query = "SELECT * FROM `tabulka` WHERE `sloupec` LIKE '$search'"; $pocetVysledku = mysql_num_rows(mysql_query($query)); $query .= " LIMIT $PZS OFFSET $start"; $mysql = mysql_query($query); while($result = mysql_fetch_array($mysql)) { //výpis výsledků } Stránkování: echo "<div style='text-align:center;'>" . "<a class='listovani' href='./search.php?str=".($str> 1 ? $str - 1 : "1")."'>«Předchozí</a> "; // počet stránek $pocetStran = (($pocetVysledku % $PZS)> 0) ? (int)($pocetVysledku / $PZS) + 1 : $pocetVysledku / $PZS; // výpis odkazů na stránky for ($i = 1; $i <= $pocetStran; $i++) { if ($i != $str) { echo "<a class='listovani' href='./search.php?str=".$i."'>".$i."</a> "; } else { // aktuální strana echo "<a class='listovani' href='./search.php?str=".$i."'><b>".$i."</b></a> "; } } echo "<a class='listovani' href='./search.php?str=".(($str <$pocet) ? $str + 1 : $pocet) ."'>Další»</a>" . "</div>"; |
||
Časová prodleva: 14 let
|
0