Autor Zpráva
felix
Profil *
Ahoj takto vypisuji z databaze a z tabulky download:
 <?php 
      define ("ROWS", 10);
      $vysledek_down = mysql_query("select count(*) as pocet from download");
      list($celkem) = mysql_fetch_array($vysledek_down);
      {
        if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
        $vysledek_down=mysql_query("select * from download limit ".($od-1).", ".ROWS);
 }
  ?>

<?php
           echo "<table>";
              while ($zaznam=MySQL_Fetch_Array($vysledek_down)) 
....
....
?>

To mi vypisuje veskera data z tabulky download a ted by jsme chtel nekde udelat odkazy, aby jsem z tabulky download vypisoval treba jen nekterou kategorii. Napr. ted mam v tabulce rozdelena data do tri druhu a chci mit moznost kliknutim na odkaz zobrazit pouze ten jeden druh.
Vim ze takto si vyberu tu kategorii ale nevim jak to vse propojit v jednom souboru aby hsem nemusel mit treba pet souboru pro pet kategorir
$vysledek_down = mysql_query("select count(*) as pocet from download WHERE d_kategorie = 'upgrade'");
keeehi
Profil
tohle -
$vysledek_down = mysql_query("select count(*) as pocet from download WHERE d_kategorie = 'upgrade'");
upravíš nějak takto
$vysledek_down = mysql_query("select count(*) as pocet from download WHERE d_kategorie = '".$_GET["kategorie"]."';");


a ty odkazy budou vypadat takto:
<a htef="script.php?kategorie=xxxx">yyyy</a>
xxx je třeba upgrade
felix
Profil *
$vysledek_down = mysql_query("select count(*) as pocet from download WHERE d_kategorie = '".$_GET["kategorie"]."';");

Notice: Undefined index: kategorie in C:\dev\www\888\download.php on line 52
Napise mi to tuto chybu, vim ze neam tedy definovanou promenou ".$_GET["kategorie"]." ale fakt netusim co tam zadat?
tiso
Profil
felix - principiálne takto:
$query="select count(*) as pocet from download";
if(isset($_GET['kategorie'])){$query.="where d_kategorie='$_GET[kategorie]'";}
$vysledek_down=mysql_query($query);

Ale treba myslieť na ošetrenie vstupnej hodnoty, a ten skript by sa mal inak prekopať.
felix
Profil *
<?php 
       define ("ROWS", 10);
      $query="select count(*) as pocet from download";
          if(isset($_GET['kategorie'])){$query.="where d_kategorie='$_GET[kategorie]'";}
         $vysledek_down=mysql_query($query);
           
      list($celkem) = mysql_fetch_array($vysledek_down);
      {
        if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
        $vysledek_down=mysql_query("select * from download WHERE d_kategorie = '".$_GET["kategorie"]."' limit ".($od-1).", ".ROWS);
 }
  ?>
       
        <?php
         include "strankovani.php";
             echo "<a href='download.php?kategorie=upgrade' class='odkaz_vyber'>Upgrade</a>
         ?>

Tak sem se v tom asi stratil uplne...Sice mi to vypise tak jak ma po kliknuti na odkaz ale pred kliknutim mi to hlasi chybu:
Notice: Undefined index: kategorie in C:\dev\www\888\download.php on line 64
A po kliknuti a vyselektovani:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\dev\www\888\download.php on line 61
Zrejme si to nejak nerozumi s tim mim strankovanim. PLs poradte
felix
Profil *
Prosim nevite nekdo?
tomasek
Profil *
Zkusil jsem to takto, ale take mi to nejde:
<?php
     include "config.php";
     $query = "select * from download";
     if(isset($_GET['kategorie'])){$query.="where d_kategorie='$_GET[kategorie]'";}
     $query=mysql_query($query, $link) or die("SQL nešlo provézt");     

     echo "<a href='download.php?kategorie=upgrade' class='odkaz_vyber'>Upgrade</a>
               <a href='download.php?kategorie=navod' class='odkaz_vyber'>Návod</a>";

    echo "<table class='tabulka_download'>"; 
             while ($zaznam=MySQL_Fetch_Array($query)) {
....
 

Vypisi se mi vsechny polozky, ale po kliknuti na odkaz mi to vyhodi hlasku SQL nešlo provezt.
Kde je chyba?
tomasek
Profil *
Psl poradte...
Mastodont
Profil
{$query.="where d_kategorie='$_GET[kategorie]'";}

Chybí ti mezera před WHERE.
tomasek
Profil *
Super to je ono diky..
Ted uz bych jenom potreboval vlozit spatky strankovani ktere vypada takto aleted nevim jak ho pouzit dohromady s tim kodem:
<?php
      define ("ROWS", 10);
      $vysledek_down = mysql_query("select count(*) as pocet from download");
      list($celkem) = mysql_fetch_array($vysledek_down);
      {
        if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
        $vysledek_down=mysql_query("select * from download limit ".($od-1).", ".ROWS);
    }

    echo "Počet položek: ".$od."-";
    echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
    echo " z celkem $celkem&nbsp;&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=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a>&nbsp;|&nbsp;";
      //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
       if ($od<ROWS) echo "Zpět&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Zpět</a>&nbsp;|&nbsp;";
    //další - vytvoř, pouze pokud nejsme v posledních ROWS
       if ($od+ROWS>$celkem) echo "Další&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Další</a>&nbsp;|&nbsp;";
    //poslední - to je posledních (zbytek po dělení ROWS) záznamů
       if ($od>$celkem-ROWS) echo "Konec&nbsp;<BR>"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
?>        
        
tomasek
Profil *
Tak se tu s tim lopotim ,ale porad nic..
 <?php
include "config.php";
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
mysql_select_db(SQL_DBNAME);
$query = "select * from download";
if(isset($_GET['kategorie'])){$query.=" where d_kategorie='$_GET[kategorie]'";}
$query=mysql_query($query, $link) or die("SQL nešlo provézt");     

define ("ROWS", 50);
if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... 
      {
      $vysledek=mysql_query("select count(*) as pocet from download where d_kategorie='$_GET[kategorie]'");
      $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 download"." 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=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a>&nbsp;|&nbsp;";
      //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
       if ($od<ROWS) echo "Předchozí&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a>&nbsp;|&nbsp;";
    //další - vytvoř, pouze pokud nejsme v posledních ROWS
       if ($od+ROWS>$celkem) echo "Následující&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a>&nbsp;|&nbsp;";
    //poslední - to je posledních (zbytek po dělení ROWS) záznamů
       if ($od>$celkem-ROWS) echo "Konec&nbsp;<BR>"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
  }
...

Takto to asi bude nesmysl ze?
Hlasi: Notice: Undefined index: kategorie in C:\dev\www\888\download.php on line 63 a to je tento:
$vysledek=mysql_query("select count(*) as pocet from download where d_kategorie='$_GET[kategorie]'");

a zadne strankovani mi to neudela, asi si s tim neporadim, nevi nekdo?
tomasek
Profil *
Tak jeste jednou script:
<?php
include "config.php";
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
mysql_select_db(SQL_DBNAME);

  
  
     $query = "select * from download";
     if(isset($_GET['kategorie'])){$query.=" where d_kategorie='$_GET[kategorie]'";}
     $query=mysql_query($query, $link) or die("SQL nešlo provézt");     
         
  

     define ("ROWS", 5);
     if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... 
      {
      $vysledek=mysql_query("select count(*) as pocet from download");
      $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 download"." 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=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a>&nbsp;|&nbsp;";
      //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
       if ($od<ROWS) echo "Předchozí&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a>&nbsp;|&nbsp;";
    //další - vytvoř, pouze pokud nejsme v posledních ROWS
       if ($od+ROWS>$celkem) echo "Následující&nbsp;|&nbsp;"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a>&nbsp;|&nbsp;";
    //poslední - to je posledních (zbytek po dělení ROWS) záznamů
       if ($od>$celkem-ROWS) echo "Konec&nbsp;<BR>"; 
      else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
  }
echo "<a href='download.php?kategorie=upgrade' class='odkaz_vyber'>Upgrade</a>
             <a href='download.php?kategorie=navod' class='odkaz_vyber'>Návod</a>
             <a href='download.php?kategorie=jine' class='odkaz_vyber'>Jiné</a>
             <a href='download.php' class='odkaz_vyber'>Všechny</a>";

echo "<table class='tabulka_download'>"; 
      
      
      $sloupcu = 1;
      $i = 0; 
        while ($zaznam=MySQL_Fetch_Array($vysledek)) {  ...... 


Ted mi to sice krasne strankuje ale zase mi nefunguji ty odkazy kdyz to chci mit rozdelene podle kategorii..
PROSIM PORADTE
tomasek
Profil *
Opravdu mi nikdo neporadi jak tyto dve funkce spojit v jednu je mi uz z toho celkem jasne proc to nejde, pro trideni mam jiny vypis z databaze, nez pro strankovani, ale vubec se mi nedari to nejak zkloubit dohromady aby to strankovalo a i tridilo...
tomasek
Profil *
Alespon nejakou malou radu jak na to. DIKY!

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: