Portál AbcLinuxu, 12. května 2025 06:36

Dotaz: Mysql a vnořené while

7.8.2011 04:04 Thomas Feed
Mysql a vnořené while
Přečteno: 499×
Odpovědět | Admin
Dobrý den, snažím se docílit automatického výpisu dat z mysql ale vůbec se mi to nedaří :(

zlátal jsem tento kód
$r1 = mysql_query("SELECT * FROM mura ");
$r2 = mysql_query("SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = 'mura' ");
echo '<table>';
while ($row=mysql_fetch_assoc($r1)) {
echo '<tr>';
while ($row2 = mysql_fetch_assoc($r2)) {
echo <td><input type="text" name="'.$row2['COLUMN_NAME'].'['.$row['id'].']" value="'.$row[$row2['COLUMN_NAME']].'"/></td>';
}
echo </tr>';
}
echo '</table>';
žádnou chybu to nehází, ale vypíše se to jen jednou (první řádek) i když je v mysql v tabulce mura asi 1000 řádku..

Poradí prosím někdo? Pokud by někdo věděl o lepším řešení, rád uvítám ;) Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.8.2011 09:10 Kit
Rozbalit Rozbalit vše Re: Mysql a vnořené while
Odpovědět | | Sbalit | Link | Blokovat | Admin
Buďme rádi, že nefunguje, Jinak by docela slušně decimovala výkon databázového serveru. Při prvním průchodu $r2 se přečtou všechny výsledky, takže podruhé už není co číst. Jen se domnívám, že druhou tabulku načítáš zbytečně, stačí načíst tu první. Je to jen takový netestovaný nástřel, tak si musíš zbytek doladit:
$r1 = mysql_query("SELECT * FROM mura;");
echo '<table>';
while ($row=mysql_fetch_assoc($r1)) {
   echo '<tr>';
   foreach($row as $key => $value) {
      echo '<td><input type="text" name="'.$key.'['.$row['id'].']" value="'.$value.'"/></td>';
   }
   echo '</tr>';
}
echo '</table>';
Zajímavé, mně to odsazení od levého okraje nepolyká.

Vnořené dotazy se dělají přímo na databázovém serveru, jinak dochází k přetížení databáze a degradaci jejího výkonu. Ovšem v tomto případě to zřejmě nebylo vůbec nutné.
7.8.2011 09:16 kuka
Rozbalit Rozbalit vše Re: Mysql a vnořené while
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten druhy fetch ale prirozene vybere kazdy sloupec pouze jednou. Nejprve si nacti tu strukturni informaci a pak ji v cyklu pouzivej pro vypis radku.

Založit nové vláknoNahoru

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

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