[PHP] MySQL Datensätze auslesen und formatieren

creamycewie

Mitglied
Hi.

Ich hab eine Frage.
Datensätze aus ner MySQL auslesen geht doch mit SELECT.

Ich habe hier eine DB, die folgend aussieht

------------------------------------------------
| Table ...............................................|
|----------------------------------------------|
| Data1........| Data2........|Data3.........|
------------------------------------------------

Ich will nun ALLE Datensätze ausgeben, und diese hübsch formatiert darstellen.

Der (zukünftige) HTML-Quellcode soll so aussehen

HTML:
<table>
<tr>
<td class=„Data1"><!--DATENSATZ1 AUS DATA1--!></td>
<td class=„Data2"><!--DATENSATZ1 AUS DATA2--!></td>
<td class=„Data3"><!--DATENSATZ1 AUS DATA3--!></td>
</tr>
<tr>
<td class=„Data1"><!--DATENSATZ2 AUS DATA1--!></td>
<td class=„Data2"><!--DATENSATZ2 AUS DATA2--!></td>
<td class=„Data3"><!--DATENSATZ2 AUS DATA3--!></td>
</tr>
<tr>
<td class=„Data1"><!--DATENSATZ3 AUS DATA1--!></td>
<td class=„Data2"><!--DATENSATZ3 AUS DATA2--!></td>
<td class=„Data3"><!--DATENSATZ3 AUS DATA3--!></td>
</tr>
<tr>
.......... usw ..........
</tr>
</table>

Bisher hab ich immer nur mit solchen Befehlen gesucht
PHP:
$sql_command = "
		SELECT Data1, Data2, Data3
		FROM Table
	";
	mysqli_query($database , $sql_command);
			if (!$result = $database->query($sql_command)) {
				die ('Es konnte kein SQL-Query vorbereitet werden: '.$database->error);
			}
			else {
				while($row = $result->fetch_array())
			}

Wie kann ich hier ALLE Datensätze auslesen, und diese dann in dem Beispiel-HTML-code darstellen?

So wie ich das Sehe müsst ich für JEDEN Datensatz 3 Varriablen (für jede Spalte) erstellen. -> Wie würdet Ihr das machen?
danach müsst ich diese im HTML-Quellcode einbauen (mit ECHO) -> Doch wie stelle ich für JEDEN Datensatz eine eigene <tr> dar?




Wie würdet Ihr das realisieren, bzw. welche wege würdet Ihr gehen?
danke & LG
 
Zuletzt bearbeitet:
Schleifen.
PHP:
$sql_command = "
        SELECT Data1, Data2, Data3
        FROM Table
    ";
mysqli_query($database , $sql_command);
if (!$result = $database->query($sql_command)) {
	die ('Es konnte kein SQL-Query vorbereitet werden: '.$database->error);
}else {
	echo '<table>'
	//fetch_array() durch fetch_assoc ersetzt, damit man schön mit dem Feldnamen arbeiten kann
	while($row = $result->fetch_assoc()){
		echo '<tr>';
		echo "<td class=\"Data1\">$row['Data1']</td>";	
		echo "<td class=\"Data2\">$row['Data2']</td>";	
		echo "<td class=\"Data3\">$row['Data3']</td>";	
		echo '</tr>';
	}
	echo '</table>';
}
 
Nicht ganz.
$row steht für die aktuelle Reihe...
Eine Tabelle besteht aus Reihen und Spalten ==> du liest 5 Reihen aus -> 5 Reihen werden nacheinander ausgegeben. Während eine Reihe in "Bearbeitung" ist, kannst du auf deren Spalten zugreifen!

Du kannst, falls dir das noch nicht geläufig ist, auch alle Spalten auf einmal auslesen indem du einen * verwendest.
SQL:
SELECT * FROM tabelle
 
ah ok.
Also $row ist die Zeile (=reihe)

d.H. wenn ich im HTML-Code folgendes haben will:
HTML:
<td class=„Data1"><a href="index.php?Data="<!--DATENSATZ1 AUS DATA1--!>"><!--DATENSATZ1 AUS DATA1--!></a></td>

müsst ich hier
PHP:
echo "<td class=\"Data1\"><a href=\"index.php?Data=".$row['Data1']."\">$row['Data1']</a></td>";
nehmen, oder?
 
Eigentlich richtig, aber ich würde eine der folgenden Schreibweisen wählen, weil sie entweder etwas kürzer sind oder besser:

PHP:
echo '<td class="Data1"><a href="index.php?Data='.$row['Data1'].'">'.$row['Data1'].'</a></td>';
echo "<td class=\"Data1\"><a href=\"index.php?Data={$row['Data1']}\">{$row['Data1']}</a></td>";
 
Naja, wenns um Schreibweisen geht - jedem das seine
So ist mein Stil

PHP:
echo "<td class='Data1'><a href='index.php?Data={$row['Data1']}'>{$row['Data1']}</a></td>";
 
Zurück