Autor Zpráva
Mike88
Profil *
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
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";
  }
}
Okrem toho vyberas z DB vsetky riadky. neviem ci je to O.K., zvycajne sa dava nejaka podmienka: SELECT something FROM somewhere WHERE vyraz;
Mike88
Profil *
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 *
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
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';
Ked uz mas vysledky na strane PHP, precyklujes si ich.
Mike88
Profil *
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..

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0