Autor Zpráva
Khubasjnerr
Profil *
Zdravím,
mám knihu o PHP, která se v nejedné kapitole věnuje MySQL. Co tu otravuju? Jde mi o to, že chci kódy pochopit a ne se je napapouškovat nazpaměť a v případě potřebné změny se muset obrátit na ostatní a poprosit o pomoc. Chápu připojení k databázi, ale prosím o vysvětlení výpisu dat v tabulce. V knize je to uvedeno takto:

<TABLE BORDER=1>
 <HEAD>
<TR>
<?php
for ($i = 0; $i < mysql_num_fields($result); $i++) {
 echo("<TH>".mysql_num_rows($result, $i)."<TH>");
}
?>
</TR>
</THEAD>
<TBODY>
<?php
for ($i=0; $i < mysql_num rows($result); $i++) {
  echo("<TR>");
  $row_array = mysql_fetch_row($result);
  for ($j=0; $j < mysql_num_fields($result); $j++;) {
    echo("<TD>" . $row_array[$j] . "</TD>");
  }
  echo("</TR>");
}
?>
</TBODY>
</TABLE>
<?php
endif
?> 

Kniha je z časů PHP verze 4, takže nevím, jaké funkce obměnit atd. Připojovací řádky jsem vynechal záměrně, protože je chápu. Jde mi pouze o kód na výpis dat.

Předem všem moc moc díky,
Khubajsnerr
nightfish
Profil
1) vymazal jsi řádek s dotazem, ten taky chápeš?
2) co konkrétně na tom výpisu nechápeš?

první cyklus vypíše buhvíco, protože mysql_num_rows nepřijímá dva parametry - spíš by tam mohlo být mysql_field_name
no a druhý cyklus pro všechny řádky výsledku provede:
přiřazení aktuálního řádku do $row_array a pak výpis pole $row_array v cyklu...
šlo by to zřejmě napsat mnohem efektivněji
Khubasjnerr
Profil *
potřebuji vysvětlit celý ten proces vypisování - asi takhle

echo "text"

vypiš text

(je li to možné)
Kajman_
Profil *
Co dočíst knihu, třeba tam bude for vysvětlené? A případně přečíst další?
nightfish
Profil
http://cz.php.net/echo
http://cz.php.net/for
http://cz.php.net/mysql_num_rows
http://cz.php.net/mysql_num_fields
http://cz.php.net/mysql_fetch_row

a také
http://www.linuxsoft.cz/php/
Měsíček
Profil
Na dolování dat bych spíše využil cyklus while http://cz.php.net/manual/en/control-structures.while.php
Khubasjnerr
Profil *
díky moc
Khubasjnerr)
Profil *
Šlo mi o to, jakým způsobem se vypisují data z databáze pomocí již zmíněného kódu
<?php
for ($i=0; $i < mysql_num rows($result); $i++) {
  echo("<TR>");
  $row_array = mysql_fetch_row($result);
  for ($j=0; $j < mysql_num_fields($result); $j++;) {
    echo("<TD>" . $row_array[$j] . "</TD>");
  }
  echo("</TR>");
}
?>

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: