Gesamte MySQL-Tabelle ausgeben

Fabian Frank

Erfahrenes Mitglied
Hallo erstmal,


Hab mal wieder ein weiteres Problem. Und zwar möchte ich eine Tabelle aus einer DB ausgeben.

Dazu habe ich folgenden Code:

PHP:
<?
   $server = "localhost";
   $user = "****";
   $pass = "****";
   $datenbank = "****";

   $verbindung = mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich.");
   mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht.");

$details = mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1");
$d = mysql_fetch_array($details); 
echo $d['Count']; 
?>

In der DB sind folgende Spalten: ID, Tag, Termin, Wachleiter und Wachgaenger

Jedoch wenn ich es ausführe, kommt keine Fehlermeldung, aber es wird auch nichts angezeigt :p

THX 4 Help
 
PHP:
$details = mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1");
if ( mysql_num_rows($details) == 1 ) {
  echo "Datensatz vorhanden";
  var_dump(mysql_fetch_assoc($d));  
}
else  {
  echo "Datensatz mehrfach oder gar nicht vorhanden";
}
Was gibt dir denn mysql_num_rows aus?
 
Sorry, hatte mich verschrieben.
Der Parameter muss $details heißen, und nicht $d.
PHP:
$details = mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1");
if ( mysql_num_rows($details) == 1 ) {
  echo "Datensatz vorhanden";
  var_dump(mysql_fetch_assoc($details));  
}
else  {
  echo "Datensatz mehrfach oder gar nicht vorhanden";
}
 
ok, jetzt kam das heraus:

Datensatz vorhandenarray(5) { ["ID"]=> string(1) "1" ["Tag"]=> string(2) "Sa" ["Termin"]=> string(4) "0505" ["Wachleiter"]=> string(8) "Thorsten" ["Wachgaenger"]=> string(7) "Mathias" }

Danke schonmal für deine Hilfe !
 
Und bei dieser Ausgabe sieht man deutlich das $d['Count'] nicht vorhanden ist.
Du kannst nur $d['ID'], $d['Tag'], $d['Termin'], $d['Wachleiter'] und $d['Wachgaenger'] ausgeben.
 
achso, ja sry, hab in dem Script was falsch verstanden.

Aber mein Problem ist jetzt wie ich das richtig ausgebe:

PHP:
<table>
<tr><td>Tag: </td><td>Termin: </td><td>Wachleiter: </td><td>Wachgänger: </td></tr>
<?
   $server = "localhost";
   $user = "";
   $pass = "";
   $datenbank = "";

   $verbindung = mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich.");
   mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht.");

$details = mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1");
$d = mysql_fetch_array($details); 
echo "<tr><td>$d['Tag'] </td><td>$d['Termin'] </td><td>$d['Wachleiter'] </td><td>$d['Wachgaenger'] </td></tr>"; 
?> 
</table>

Da kommt nur folgende Fehlermeldung:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/web31/html/dlrg/wachplan.php on line 52
 
Probier es mal so:
PHP:
echo "<tr><td>" . $d['Tag'] . "</td><td>" . $d['Termin'] . "</td><td>" . $d['Wachleiter'] . "</td><td>" . $d['Wachgaenger'] . "</td></tr>";
 
Vielen Dank!

Es funktioniert ;-)=

Grüße,

Fai

// EDIT

achso, eine frage noch:

Kann man den evtl. iwie umschreiben, dass er alle Zeilen, nicht nur die erste anzeigt?
 
Mit einer WHILE Schleife müsste es gehen
PHP:
<table>
<tr><td>Tag: </td><td>Termin: </td><td>Wachleiter: </td><td>Wachgänger: </td></tr>
<?
   $server = "localhost";
   $user = "";
   $pass = "";
   $datenbank = "";

   $verbindung = mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich.");
   mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht.");

$details = mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan");
while ( $d = mysql_fetch_array($details) ) {
echo "<tr><td>" . $d['Tag'] . "</td><td>" . $d['Termin'] . "</td><td>" . $d['Wachleiter'] . "</td><td>" . $d['Wachgaenger'] . "</td></tr>";  
}
?> 
</table>
 
Zuletzt bearbeitet:
Zurück