Autor Zpráva
pupik
Profil *
ahojte, umim vytahnout data z tabulky a pomoci prikazu while je umim zobrazit. problem je v tom, ze bych ziskana data chtel vyuzit i dale ve scriptu, pro jiny dotaz, ale nevim jak na to. predpokladam, ze bych je mohl presunout do pole, ale nejak si s tim nedokazu poradit.
ziskana data muzu pouzit v ramci dalsiho sql dotazu ktery ale bude soucasti prodchoziho cyklu while a vsechno je to potom strasne pomale.

doufam, ze jsem byl pochopen. diky za info
pup.
Joker
Profil
predpokladam, ze bych je mohl presunout do pole, ale nejak si s tim nedokazu poradit.
ehm... co zkusit operátor přiřazení, "="? :-)

Příklad:
while($zaznam = mysql_fetch_array($vysledek){ // voila :-)
...
}
pupik
Profil *
to jooo, ale data budou ulozena jen v ramci while cyklu.
jakmile uzavru '}' tak data ulozena v $zaznam[nazev pole] jsou neaktivni.
Hugo
Profil
pupik

Tak si ty data ulož do asociativního pole, se kterým můžeš pracovat dál.

Mimo cyklus není pole $zaznam prázdné, ale obsahuje poslední řádek z dotazu.
Kajman_
Profil *
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=6 5986

Nebo se to nemusí dávat do pole a jen si nastavíte, že výsledky původního dotazu chcete procházet znovu od začátku.
http://cz.php.net/manual/en/function.mysql-data-seek.php
pupik
Profil *
Tak si ty data ulož do asociativního pole, se kterým můžeš pracovat dál.

no to je ale ten muj dotaz. jak to mam udelat?
predpokladam nad tim while nastavit nejakou array napr: $data=array() a potom ji nechat plnit v prubehu while ale fakt nevim jak. zkousel jsem nejake vzorove scripty ale nejde mi to :(
Joker
Profil
pupik
to jooo, ale data budou ulozena jen v ramci while cyklu.
Nejsou. Akorát se při každém cyklu přepíše obsah proměnné $zaznam na aktuální řádek. Ale není přece problém místo jedné proměnné použít pole.

$data = array();
while($data[] = mysql_fetch_array()){
...
}
pupik
Profil *
diiiky, pohoda jak cip :)
proc tohle neni nikde popsane v manualech? :) nebo jsem tak slepy? :)

mam dalsi question: umim jiz vytahnout data do pole a ted bych chtel nektere data pouzit pri sql dotazu. konkretne to vypada takhle:

for ($n=0; $n<count($data); $n++){
print $data[$n][cislo];
print " : ";
print $data[$n][jmeno];
print " : ";
print $data[$n][automat];
print " : ";
$query="select count(pozice) as total from tabulka where cislo=".$data[$n][cislo]."";
$result=safe_query($query);
$object=mysql_fetch_object($result);
$object->total;
print "<br>";
}

vysledku muze byt i 1000 a pccko je z toho uplne odvareny a po jedne minute mi to vypise: Fatal error: Maximum execution time of 60 seconds exceeded in .... takze muj pokus asi neni moc optimalizovany ze? :)
Kajman_
Profil *
Je lepší dělat jeden dotaz než tisíc stejných.

select cislo, count(pozice) pocet from tabulka group by cislo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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