Autor Zpráva
akali
Profil *
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
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 *
Step:
No sakra, že mě to nenapadlo uložit to do adresy! Díky moc!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0