Autor | Zpráva | ||
---|---|---|---|
Fanda Profil * |
#1 · Zasláno: 28. 12. 2006, 14:55:02
Ahoj, zasekl jsem se s jedním primitivním dotazem. Mám v databázi tabulku lide a v ni atributy id a jmeno. Řekněme, že je následovně vyplněná:
id jmeno 1 Pepa 2 Ondra 3 Karel A já potřebuju vybrat id třeba Pepy a Karla. Tak jsem napsal něco takovéhleho, jenže je to samozřejmě špatně... SELECT id FROM lide WHERE jmeno=('Pepa','Karel'); |
||
turtle Profil * |
#2 · Zasláno: 28. 12. 2006, 14:59:16
SELECT id FROM lide WHERE jmeno IN ('Pepa','Karel');
|
||
MilanJ Profil |
#3 · Zasláno: 28. 12. 2006, 14:59:17
SELECT id FROM lide WHERE jmeno=('Pepa') OR jmeno=('Karel')
|
||
b3h Profil |
#4 · Zasláno: 28. 12. 2006, 15:20:28
Myslim si ze v tom druhem pripade nejsou potreba zadnych zavorek :)
|
||
Fanda Profil * |
#5 · Zasláno: 28. 12. 2006, 15:30:08
...a je potom korektní v php, pokud mám jména v nějakém poli, napsat takovýhle zápis?
$sql= mysql_query("SELECT id FROM lide WHERE jmeno in '$pole[]' "); |
||
turtle Profil * |
#6 · Zasláno: 28. 12. 2006, 15:46:56
Nie, musíš z toho urobiť string
napr.: $aaa=''; foreach ($pole as $bbb) { $aaa.= "'" . $bbb. "',"; } $aaa=trim($aaa,","); //odstránenie poslednej čiarky |
||
Fanda Profil * |
#7 · Zasláno: 28. 12. 2006, 16:53:44
Jsem ještě začátečník takže si vůbec nejsem jistý, jestli tomu rozumím, ale je mi jasné, že ten nápad s foreach je správný... Nejsem jistý, co má představovat to $aaa
Moje představa je asi taková to: Mělo by to fungovat tak, že do toho foreach přidám ten můj $sql dotaz a tam kde bych zadával klasickou proměnou tam bude díky foreach naskakovat ta proměnná $bbb neboli něco takového: foreach ($pole as $bbb) { $sql=mysql_query("SELECT id FROM lide where jmeno='$bbb' "); } ...nebo jsem vedle, jak ta jedle; což mi přijde pravděpodobnější :) |
||
turtle Profil * |
#8 · Zasláno: 28. 12. 2006, 20:25:39
$aaa je premenná, ktorý bude obsahovať všetky hodnoty $pole[] pospájané do jedného reťazca v tvare použiteľnom v SELECTe (Asi som mohol vymyslieť aj lepší názov premennej :-)
ak $pole[0] ='Pepa' a $pole[1] ='Karel' po skončení cyklu foreach budeš mať v premennej $aaa reťazec 'Pepa','Karel' Pozor na jednoduché a dvojité úvodzovky v cykle. V SELECTe to použiješ po skončení cyklu takto: $sql= mysql_query("SELECT id FROM lide WHERE jmeno in ($aaa) "); |
||
Fanda Profil * |
#9 · Zasláno: 28. 12. 2006, 21:13:03
díky moc!!!!
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0