Autor | Zpráva | ||
---|---|---|---|
akali Profil * |
#1 · Zasláno: 26. 9. 2010, 16:02:45
Ahoj, udělal jsem si stránkování na webu.. Jenže fungje to tak nějak na půl - spíš špatně.
Tady je kód <form action="./" method=POST> Seřadil podle <select name="select"> <option value="id">id</option> <option value="cena">ceny</option> </select> a vypsat na stránku <input type="text" name="pocet" value=""> zboží <input type="submit" value="ok"> </form> <?php /********Vypis****************************************************************************************************/ // Připojení k databázi. if (Empty($_POST['pocet'])){ $pocet = 2; } else{ $_post['pocet'] = $pocet; echo "poceeeet $pocet";} include 'db.php'; //nastavení výsledků na stránku: $vysledku=$pocet; $strana=Empty($_GET['strana']) ? 1 :IntVal($_GET['strana']); //číselná hodnota ?strana= $od=(int)($strana-1)*$vysledku; // Správné nastavení češtiny. $objekt_vysledku = mysqli_query($db_spojeni,"SET NAMES 'UTF8'"); // zjištění počtu řádků v tabulce: $radku=MySQLi_Fetch_Row(MySQLi_Query($db_spojeni,"SELECT COUNT(3) FROM Nabytek")); $stranek=Ceil($radku[0]/$vysledku); echo "Stránek:$stranek<br>Strana:$strana<br>od:$od<br>řádků:".$radku[0]; // Zaslání SQL příkazu do databáze. $radit=Empty($_POST['select']) ? "cena" : MySQL_Escape_String($_POST['select']); $objekt_vysledku = mysqli_query($db_spojeni,$sql="SELECT * FROM Nabytek ORDER BY $radit ASC LIMIT $od,$vysledku") Or Die(MySQLi_Error()); echo '<div style="background-color: #2C292A; text-align: center; color: white; ">'; echo 'Strana: '; For($i = 1; $i <= $stranek; $i++) echo '<a href="'.$_SERVER["SCRIPT_NAME"].'?strana='.$i.'">'.$i.'</a>'.($i < $stranek ? ', ' : null); echo '</div>'; //Výpis x znaků // Zobrazení všech vrácených dat. while ($radek = mysqli_fetch_array($objekt_vysledku)) { echo '<h1>',$radek['nazev'],'</h1>'; echo '<table><tr><td>',$radek['img'],'</td><td>'; /*oříznutí textu*/ $rest = substr($radek['text'], 0, 500); echo $rest; /*konec - oříznutí textu*/ echo '<br>Cena <b>',$radek['cena'],'</b> </td></table>'; $id = $radek['ID']; ?> <div style="float: right; padding: 0px 20px 0px 0px;"> <form name="odeslano" action="" method="GET"> <input name="id" size="10" type="hidden" value="<?php echo $id?>"> <input type="submit" name="odeslano" class="inputText" value="Informace"> </form> </div> <?php } // Zavření objektu výsledku, protože už ho nebudeme používat. mysqli_free_result($objekt_vysledku); // Odpojení od databáze. if ($db_spojeni) mysqli_close($db_spojeni); Echo '<br><br><div style="background-color: #2C292A; text-align: center; color: white; ">'; Echo 'Strana: '; For($i = 1; $i <= $stranek; $i++) echo '<a href="'.$_SERVER["SCRIPT_NAME"].'?strana='.$i.'">'.$i.'</a>'.($i < $stranek ? ', ' : null); Echo '</div>'; ?> Tady je živá stránka, zkuste si to http://kamil.velkyberanov-fotbal.cz/ Zadejte nahoru do formuláře číslo 3 -> následně se zobrazí pouze 3 itemy a když kliknu na stránku číslo dva tak se na ni zobrazí dva itemy.. Jenže dohromady jsou tam 4, takže to funguje nějak asi špatně. Vidíte tam někdo chybu? |
||
Step Profil |
#2 · Zasláno: 26. 9. 2010, 16:34:03
zkuste, pak vám tam ty proměnné zůstanou v adrese
<form action="./" method=GET> a ty odkazy: For($i = 1; $i <= $stranek; $i++) echo '<a href="'.$_SERVER["SCRIPT_NAME"].'?strana='.$i.'&pocet='.$pocet.'&sortby='.$_GET["select"].'">'.$i.'</a>'.($i < $stranek ? ', ' : null); |
||
akali Profil * |
#3 · Zasláno: 26. 9. 2010, 16:42:03
Step:
No sakra, že mě to nenapadlo uložit to do adresy! Díky moc! |
||
Časová prodleva: 14 let
|
0