Autor Zpráva
michal
Profil *
ahoj, narazil jsem na problem, ktery neumim vyresit...

selectem nactu vsechny potrebny data z mysql, v dalsim kroku vypisu sloupecky a, b, c a v dalsim bych potreboval vypsat sloupecky x, y, z ... druhy krok se mi uz ale nevykona, poradite?

napriklad neco takoveho(zjednoduseno):


$res = mysql_query("select * from zakaznik limit 10");

while ($row = mysql_fetch_assoc($res))
print_r($row); // zobrazi 10 zaznamu

while ($row = mysql_fetch_assoc($res))
print_r($row); //nezobrazi nic:(

zkousel sem i variantu, ze si vysledek ulozim i do druhe promenne ... $res = $res2 = mysql_query(..), ale nepomohlo to ... dik moc za rady
bitbit
Profil
Nefunguje ti to proto, protoze vyberes z databaze jen tech 10 zaznamu, a ty ti zobrazi prvni cyklus a druhy uz nema co.
Zkus to takto: Vytahne to z databaze 20 prispevku. Pro tvuj pripad je dulezite si upravit ten for cyklus. No a nebo se jen inspirovat tim Mysql dotazem.


$pocatek = 0;
$konec = 10;

for($i=0;$i<2;$i++){
$dotaz = MySQL_Query("SELECT * FROM zakaznik ORDER BY id DESC limit $pocatek,$konec");
if(!$dotaz):
echo "Chyba při načítání vzkazů z databáze...";
else:
while($row = mysql_fetch_assoc($dotaz)):
print_r($row);
endwhile;
$pocatek = $pocetek + $konec;
}
michal
Profil *
ale ne, napsal jsem to asi blbe...

nejde mi o dalsich 10 zaznamu, ale o informace z jednoho dotazu... zkusim to vic rozepsat:


$res = mysql_query("select a,b,c,x,y,z from zakaznik limit 10");

while ($row = mysql_fetch_assoc($res))
echo $row["a"]." ".$row["b"]." ".$row["c"];

//tady se zobrazi/vykona jiny kod... (proto nemuzu vypsat x, y, z hned v prvnim while()

while ($row = mysql_fetch_assoc($res))
echo $row["x"]." ".$row["y"]." ".$row["z"];



jde o to, ze se ten "$res" chova jako pole, ktery doslo na konec a uz z neho dal neni co cist. U pole by mi pomohla funkce reset($pole) a jelo by se znova dal od prvniho prvku pole, jenze nevim jak to udelat s vysledkem z mysql dotazu...

jeste tedy pripisu konkretni problem: mam seznam aut, databaze obsahuje informace jako je specifikace, znacka, palivo... a potom popis, vybavu, nadstandardni vybavu apod... v prvnim kroku chci vypsat info o automobilu (ale bez zbytecnyho natahovani stranky kvuli popisu a vybave), pak vypisu nejaky udaje tykajici se objednavky a na konec dam popisy vsech tech aut, ktery maji nahore vypsany specifikace a odkazuju se na ne pres # v query... doufam, ze to pomuze

kazdopadne dik za reakci
Kajman_
Profil *
Stačí jeden cyklus, kde se bude první část vypisovat a druhá dávat třeba do proměnné. Pak se vyplivne proměnná, kde bude třeba. Také se občas dává všechno do paměti, ale při větších datech z db to může způsobovat problémy.
michal
Profil *
to me taky napadlo, neni ani problem udelat druhy dotaz, slo mi o znovuvyuziti toho prvniho vysledku, presto obema moc dekuju:)
error414
Profil
res = mysql_query("select a,b,c,x,y,z from zakaznik limit 10");



while ($row = mysql_fetch_assoc($res))

echo $row["a"]." ".$row["b"]." ".$row["c"];



//tady se zobrazi/vykona jiny kod... (proto nemuzu vypsat x, y, z hned v prvnim while()


$row = mysql_fetch_assoc($res)
while ($row = mysql_fetch_assoc($res))

echo $row["x"]." ".$row["y"]." ".$row["z"];

a co takhle, me kdyz jsem vypisoval prikazem for tabulku o 5 zaznamech a for bezel 8 se me vypsalo prvnich 5 pak nic a pak to cele zase pokracovalo od znova
Toto téma je uzamčeno. Odpověď nelze zaslat.