Portál AbcLinuxu, 8. listopadu 2025 19:00
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
Diskuse byla administrátory uzamčena.
FAQ: Proč byl uzamčen/smazán můj dotaz v Poradně?
while ($vysledek=mysql_fetch_row($dotaz))
{
$nejaka_promena=$vysledek[0];
}
echo("$nejaka_promena");
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.
$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";
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.
$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++;
}
$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 (…
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.