Autor Zpráva
IdemeNaHavaj
Profil
Ahoj,

Mám napr. URL:
http://example.com/ovocie=Jablko

A php:
$ovocie = mysql_real_escape_string($_GET['ovocie']);

A sql:
WHERE `nazov` = '$ovocie'

No a teraz by som rád aby ak do URL zadám napr.
http://example.com/ovocie=Jablko,Hruska,Jahoda

Tak aby to vybralo niečo ako
WHERE `nazov` = 'jablko, hruška a tiež jahoda'

Ako sa dá toto spraviť?
ts_istudio
Profil
WHERE nazov IN ("jablko", "hruška", "jahoda")

Pro vytváření polí z řetězce a naopak použij explode a implode.
mmch jak z textu "Hruska" vyrobíš "hruška"?

Byl bych konkrétnější, ale tuším, že na to jdeš tak trochu špatně. Určitě musíš v tom GETu předávat názvy?
jenikkozak
Profil
ts_istudio:
mmch jak z textu "Hruska" vyrobíš "hruška"?
Použitím vhodného porovnávání, např. utf8_general_ci.
IdemeNaHavaj
Profil
ts_istudio:
$ovocie2 = explode(",",$ovocie);

Čo treba napísať sem?
WHERE nazov IN ($ovocie2[sem]) aby to tam zobrazilo všetok obsah z arrayu?
shaggy
Profil
IdemeNaHavaj:
Celkom som nepochopil, čo tým chceš napísať.
V tvojom prípade bude výsledná query vyzerať buď takto:
WHERE nazov IN (Array)
alebo ako si myslel to "sem"? Že tam bude vypisovať každý prvok ručne, napr. takto:
WHERE nazov IN ($ovocie2[0])

Lebo platí, to, čo napísal ts_istudio:
Pro vytváření polí z řetězce a naopak použij explode a implode.
ty si to len prepísal, ale funkčné to nie je.

edit:
Ok, po druhom prečítaní som to pochopil.
Explode máš správne, ešte budeš musieť použiť implode.
IdemeNaHavaj
Profil
Uz mi to ide

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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