Autor Zpráva
florian
Profil *
$query = "SELECT * FROM sortiment WHERE idsort = '$idsort'";
if(isset($_GET['kategorie'])){$query.=" WHERE kategorie='$_GET[kategorie]' ";}
$vysledek = mysql_query($query, $link) or die("SQL dotaz nejde provézt");

Ahoj mam takovyto dotaz na vyber z databaze, mel by mi vybrat polozku se znamym IDSORT a se znamou kategorii, ktera se nacita z predchozi stranky, ale bohuzel mi to vyskoci chybou :SQL dotaz nejde provézt,
Mam to spatne napsane?
srigi
Profil
Pridaj na druhom riadku pred WHERE slovo AND.
srigi
Profil
BTW v pripade ze nemas zapnute magic_quotes_gpc v php.ini, tak premennu z GET pred umiestnenim do "dotazu" poriadne sanitizuj!
endik
Profil *
Muzes mi rict co to znamena sanitizuj?
florian
Profil *
$query = "SELECT * FROM sortiment WHERE idsort = '$idsort'";
                if(isset($_GET['kategorie'])){$query.=" AND WHERE kategorie = '$_GET[kategorie]'";}
                $vysledek = mysql_query($query, $link) or die('Error: '.mysql_error ());


Tak to je to same a chyba je tato:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE kategorie = 'dvb-t'' at line 1
tiso
Profil
florian - zmeň
... where ... and where ... 

na
... where ... and ...
endik
Profil *
Tak uz sem tu znovu, dotaz mam vyreseny funguje ale jeste tam mam jednu vec s kterou pekne tapu. Prikladam kod:
$idsort=$_GET["idsort"];
                $query = "SELECT * FROM sortiment WHERE idsort = '$idsort'";
                $vysledek = mysql_query($query, $link) or die("SQL dotaz neni mozno provézt");
                
                $predchozi = "SELECT * FROM sortiment WHERE idsort<'$idsort'";
                if(isset($_GET['kategorie'])){$predchozi.=" AND kategorie = '$_GET[kategorie]' order by idsort desc limit 1";}
                $predchozi = mysql_query($predchozi, $link) or die('Error: '.mysql_error ());
                
                $nasledujici = "SELECT * FROM sortiment WHERE idsort>'$idsort'";
                if(isset($_GET['kategorie'])){$nasledujici.=" AND kategorie = '$_GET[kategorie]'  limit 1";}
                $nasledujici = mysql_query($nasledujici, $link) or die("SQL dotaz neni mozno provézt");
                
                $odkaz_kategorie = isset($_GET["kategorie"]) ?"&amp;kategorie=".$_GET["kategorie"] : "";
                                
                while ($zaznam=MySQL_Fetch_Array($vysledek))
                      {
                      while ($zaznam1=MySQL_Fetch_Array($predchozi)) 
                      {
                      if ($zaznam1['idsort'] > 0)
                      $pred="detail_sortiment.php?idsort=".$zaznam1["idsort"];
                      echo "<a href='$pred".$odkaz_kategorie."'>Předchozí&nbsp;&nbsp;</a>";
                      }                   
                while ($zaznam2=MySQL_Fetch_Array($nasledujici)) 
                      {                    
                      $za="detail_sortiment.php?idsort=".$zaznam2["idsort"];
                      echo "<a href='$za".$odkaz_kategorie."'>Následující</a>";
                      }   

A ted co bych chtel: Zobrazuje se mi detail vyrobku a mam tam odkazy na dalsi a predchozi, kdyz mam vybranou kategorii tak mi odkazy bezproblemu funguji, ale jakmile mam detail vyrobku bez vybrane kategorie, cili vsechny, tak se mi tam ty odkazy zobrazi nekolikrat(tolik kolik mam IDSSORT) a odkazuji na IDSORT, proste zmatene a ja bych potreboval aby to bylo to same jako kdyz mam nejakou kategori vybranou.
Nevite?

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: