Autor | Zpráva | ||
---|---|---|---|
Mike88 Profil * |
#1 · Zasláno: 14. 5. 2008, 13:52:22
zdravím, nedaří se mi zprovoznit následující věc:
$dotaz = mysql_fetch_array(mysql_query("SELECT text FROM texty")); if(array_search("test", $dotaz)){echo "nalezeno";} Má to fungovat tak že pokud někde v tom výtahu z databáze bude slovo "test" tak se provede ta podmínka.. co dělám špatně? díky |
||
srigi Profil |
#2 · Zasláno: 14. 5. 2008, 14:11:14 · Upravil/a: srigi
testujes len jeden riadok z DB. Volanie mysql_fetch_array() musis dat do cyklu while.
$result = mysql_query("SELECT text FROM texty"); while (($row = mysql_fetch_array($result))) { if (array_search("test", $row)) { echo "nalezeno"; } } |
||
Mike88 Profil * |
#3 · Zasláno: 14. 5. 2008, 15:03:47
Díky za radu. Já právě potřebuju vybrat všechny řádky, ještě jedna věc jak udělám když potřebuju ten cyklus provést v jiném cyklu několikrát?
$result = mysql_query("SELECT text FROM texty"); for(podminka): while (($row = mysql_fetch_array($result))) { if (array_search("test", $row)) { echo "nalezeno"; } } endfor; Tohle když se for provede třeba 5x by mělo 5x vypsat do stránky "nalezeno" ale vypíše to jen jednou.. |
||
Mike88 Profil * |
#4 · Zasláno: 14. 5. 2008, 16:24:12
Tak už sem to vyřešil, ale nevím no, chtělo by to lepší řešení.
Dělám totiž kalendář ve kterém mám cyklus který mi do kalendáře vypíše jako čísla dni v měsíci (1 2 3...31) a pro každé číslo v měsící se potřebuju podívat jestli je pro něj v tabulce nějaký záznam... zatím to mám tak že pro každé číslo se provede while(mysql_fetch_array) který se podívá jestli pro to číslo je v tabulce nějaký záznam (to znamená pokaždé 30x)... ale to taky nebude moc výkonově šetrné... nenapadá vás lepší řešení? Nepotřebuju vidět přímo záznam stačí mi jen zjistit jestli pro dané číslo(den v měsíci) v tabulce nějaký záznam je tabulka se skládá ze sloupce ID, den a záznam, ve sloupci den je uloženo číslo dne pro který záznam je.. |
||
srigi Profil |
#5 · Zasláno: 14. 5. 2008, 16:49:07
Jasnacka, je blbost robit kvoli jenemu kalendaru 30(31) dotazov na databazu. V strucnosti musis pomocou jedneho sql dotazu vybrat vsetky zaznamy ktore su v platne dany mesiac. Tu by mohol pomoct tento SQL prikaz
SELECT ID, zaznam FROM kalendar WHERE den BETWEEN '2005-04-01' AND '2005-04-30'; |
||
Mike88 Profil * |
#6 · Zasláno: 14. 5. 2008, 17:12:01
No já neprovádím 30 dotazů ale 30x hledání cyklem ve výsledku toho co dotaz vrátí.. a právě přemýšlím jak se zbavit toho cyklu nějak aby se nemusel provádět 30x..
|
||
Časová prodleva: 16 let
|
0