Portál AbcLinuxu, 14. května 2025 03:07

Dotaz: php a while

5.3.2007 18:28 rexcze | skóre: 4
php a while
Přečteno: 357×
Ahoj,

potřeboval bych poradit ohledně cyklu v php: Mám cyklus


while ($result_row = mysql_fetch_row(($result)))
{
$result_row[0]=$nejaka_promena
}

echo $nejakapromena;

Ale nefunguje to, jak mam udelat, aby to jelo? 
Díky 
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Diskuse byla administrátory uzamčena.
FAQ: Proč byl uzamčen/smazán můj dotaz v Poradně?

5.3.2007 18:37 PAPoUcH
Rozbalit Rozbalit vše Re: php a while
while ($vysledek=mysql_fetch_row($dotaz))
{
$nejaka_promena=$vysledek[0];
}
echo("$nejaka_promena");

ale musíš si uvědomit že pokud bude výsledků víc vyhodí ti to pouze ten poslední který projde cyklem ...

PAPoUcH
5.3.2007 19:19 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: php a while
echo("$nejaka_promena");
Fuj, to je ale prasárna! Výpis obsahu proměnné se provádí jednoduchým echo $nejaka_promena;. O parsování textu v uvozovkách.
5.3.2007 19:26 R
Rozbalit Rozbalit vše Re: php a while
Fuj, to teda je. A mysql_fetch_row() spolu s $vysledok[0] je tiez dobry humus. Staci zmenit tabulku alebo SQL prikaz a mozes cely skript prerabat. Nehovoriac o prehladnosti - o nej sa naozaj neda pri pouziti tohoto tvaru hovorit...
5.3.2007 19:43 PAPoUcH
Rozbalit Rozbalit vše Re: php a while
za tu "prasárnu" se tedy omluvám :) , njn .. snad se polespism .. A stim mysql_fetch_row netvrdim ze je spravne ale opravoval jsem jen vlozeny skript ...
PAPoUcH
5.3.2007 18:54 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: php a while
Já mám typickou sestavu s výstupem více sloupců a řádků takto (zjednodušeno):
$sql = "select  cfadod, druhmater, dalsiudajemater from material"; 
$sql_result = mysql_query($sql,$connection) or die
              ("Nemohu provést dotaz");

Zde hlavička tabulky

while ($row = mysql_fetch_array($sql_result)) {

$D1 = $row["cfadod"];
$D2 = $row["druhmater"];
$D3 = $row["dalsiudajemater"];
echo"


Zde výpis z tabulky ..
}
echo "/konec tabulky";
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
5.3.2007 19:44 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: php a while
while ($row = mysql_fetch_array($sql_result)) {
Toto by se dalo vylepšit, mysql_fetch_array implicitně vrací pole s asociativními i numerickými klíči, výsledek dotazu je tedy de facto předán dvakrát. Buď použít mysql_fetch_assoc, nebo mysql_fetch_row, nebo alepsoň u mysql_fetch_array specifikovat typ výsledku druhým parametrem.

Dále jsou zbytečně použity uvozovky (double-quotes), viz syntax datového typu string.

Sice nevím, jak vypadá kód pro výpis z tabulky, ale myslím si, že je zbytečné duplikovat $row["cfadod"] do $D1, $row["druhmater"] do $D2 a tak dále. Není problém vypisovat hodnoty přímo z toho asociativního pole, kopírovat jej do dalších proměnných netřeba.
5.3.2007 19:27 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: php a while
A co přesně to má dělat? Pokud chceš dostat všechna data do pole, tak zkus tohle:
$i=0;
while($result_row = mysql_fetch_array($result, MYSQL_NUM)){ #pokud chceš asociativní pole
     místo číslovaného, tak místo MYSQL_NUM napiš MYSQL_ASSOC
     $nejaka_promenna[$i] = $result_row[0];
     $i++;
}
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
5.3.2007 19:53 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: php a while
$nejaka_promenna[$i] = $result_row[0]; $i++;
Použití $i je zbytečné, lze využít empty square bracket syntax, viz syntax datového typu array. Stačí tedy:

$nejaka_promenna[] = $result_row[0];

A ještě, pokud hrajeme na E_NOTICE, je lepší proměnné inicializovat:
$nejaka_promenna = array();
while (…
5.3.2007 20:12 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše admin
Sorry, ale protože se tento dotaz nijak netýká zaměření portálu, je v tomto diskuzním fóru off-topic. Bude uzamčen a později vymazán. Díky za pochopení.

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.