| Autor | Zpráva | ||
|---|---|---|---|
| divady Profil |
Dobrý den,
mam takový problém v url si pošlu hodnotu regionu a pak pomocí dotazu na databázy vytahnu jednotlivé kody okresu které se nacházejí v regionu, uložím si je do pole viz ukázka if($_GET[region]!=""){
$vstup=mysql_query("SELECT * FROM okresy WHERE kod_kraj = '$_GET[region]'");
while ($vypis = mysql_fetch_array($vstup) ):
$druhy = array();
$druhy [] = "okres LIKE '$vypis[nuts4]'";
endwhile;
}a pak sestavuji dotaz $vstup=mysql_query("SELECT * FROM Dodavatele WHERE aktivni = 1 AND " . implode ( ' OR ', $druhy ) . " AND svj = 0 bude to v tom dotazujak se ptám na okresy a když dám echo "" . implode ( ' OR ', $druhy ) . ""; tak se ukaže jen jeden záznam
|
||
| Tori Profil |
0. Neošetřený vstup přímo z GET do SQL dotazu je hazard, escapujte!
1. Operátor AND má vyšší prioritu než OR --> použijte závorky. 2. Pokud kódy okresů nemáte v DB uložené se zástupnými znaky (procento nebo podtržítko, pro LIKE), tak místo LIKE použijte normální porovnání s rovnítkem. SQL dotaz bude rychlejší. |
||
| divady Profil |
Tori:
tori díky chbu jsem měl že jsem dal $druhy = array(); do cyklu a nevšimpl jsem si toho takže se mi to vždycky přepsalo
|
||
|
Časová prodleva: 12 let
|
|||
0