Autor Zpráva
gogy27
Profil
Zdravim,

Mám problém. Použil som z jednej stránky stránkovanie a nejako mi to nefunguje. Mám nasledujúci skript, ale nič nevypíše aj keď údaje v DB sú správne a všetko do teraz išlo. Tu je kód prosím pomôžte mi, že čo mám opraviť.:
<?php
$sql = "SELECT nick FROM uzivatelia WHERE id='".$_SESSION['id']."'";
$query = mysql_query($sql);
$vypis = mysql_fetch_array($query);

$sql1 = "SELECT * FROM uzivatelia WHERE id='".$_SESSION['id']."'";
$query1 = mysql_query($sql1);
$vypis1 = mysql_fetch_array($query1);
$sql = "SELECT * FROM spravy WHERE komu='".$vypis1['nick']."' AND vymazana_komu='0'";
$query = mysql_query($sql);

define ("ROWS", 10);
  if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... 
  {
    $vysledek=mysql_query("SELECT count(*) as pocet FROM spravy WHERE komu='".$vypis1['nick']."' AND vymazana_komu='0'");
    $zaznam=mysql_fetch_array($vysledek);
    $celkem=$zaznam["pocet"];
  }
  else
  {
      $celkem=$_GET["celkem"];
  }
  if ($celkem>ROWS) 
  {
    if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
    $vysledek=mysql_query("select * from spravy WHERE komu='".$vypis1['nick']."' AND vymazana_komu='0'"." limit ".($od-1).", ".ROWS);
      echo "Záznamů: ".$od."-";
    echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
    echo " z celkem $celkem&nbsp;&nbsp;&nbsp;";
      //začátek - vytvoř odkaz pouze pokud nejsme na začátku
       if ($od==1) echo "Začátek&nbsp;|&nbsp;"; 
      else echo "<a href='main.php?clanek=spravy&celkem=$celkem&od=1'>Začiatok</a>&nbsp;|&nbsp;";
      //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
       if ($od<ROWS) echo "Predošlí&nbsp;|&nbsp;"; 
      else echo "<a href'=main.php?clanek=spravy&celkem=$celkem&od=".($od-ROWS)."'>Predchadzajúci</a>&nbsp;|&nbsp;";
    //další - vytvoř, pouze pokud nejsme v posledních ROWS
       if ($od+ROWS>$celkem) echo "Následujúci&nbsp;|&nbsp;"; 
      else echo "<a href='main.php?clanek=spravy&celkem=$celkem&od=".($od+ROWS)."'>Následujúci</a>&nbsp;|&nbsp;";
    //poslední - to je posledních (zbytek po dělení ROWS) záznamů
       if ($od>$celkem-ROWS) echo "Koniec&nbsp;<BR>"; 
      else echo "<a href='main.php?clanek=spravy&celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."'>Koniec</a><BR>";
  }
?>
<form method='post' action='vymazat_spravy.php'>
<?php
while ($zaznam = MySQL_Fetch_Array($vysledek)) {
echo "<tr><td class='tdn' valign='top'><input type='checkbox' name='id_mazat[]' value='".$vypis['id']."'</td><td  class='tdn' valign='top'>" . $vypis['datum'] . "</td><td class='tdn' valign='top'><a href='main.php?clanek=prijate_spravy&id=".$vypis['id']."'>". $vypis['predmet'] . "</a></td></tr>";
}
echo "<tr><td colspan=3 class'tdn' valign='top'><input type=submit name='vymazat' value='Vymazať označené správy'></td></tr>";
echo "</table>";
echo "</form>";
?>
fajzen
Profil
Zdravím gogy27,
1. while ($zaznam = MySQL_Fetch_Array($vysledek)) ale pri výpise údajov používate premennú $vypis
2. $vysledek obsahuje potrebné údaje iba aj $celkem > ROWS, inak obsahuje údaje z query na zistenie celkového počtu správ
3. nikde nevidím začiatočný tag <table>
4. prvé tri query sú úplne zbytočné (teda ak je toto celý kód)

Mám nasledujúci skript, ale nič nevypíše
čo znamená nič?

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: