# Gesamte MySQL-Tabelle ausgeben



## Fabian Frank (28. April 2007)

Hallo erstmal,


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

Dazu habe ich folgenden Code:


```
<?
   $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 

THX 4 Help


----------



## tobee (28. April 2007)

```
$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?


----------



## Fabian Frank (28. April 2007)

Datensatz vorhanden:



> Datensatz vorhanden
> Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/web31/html/dlrg/wachplan.php on line 51
> NULL


----------



## tobee (28. April 2007)

Sorry, hatte mich verschrieben.
Der Parameter muss $details heißen, und nicht $d.

```
$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";
}
```


----------



## Fabian Frank (28. April 2007)

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 !


----------



## tobee (28. April 2007)

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.


----------



## Fabian Frank (28. April 2007)

achso, ja sry, hab in dem Script was falsch verstanden.

Aber mein Problem ist jetzt wie ich das richtig ausgebe:


```
<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


----------



## tobee (28. April 2007)

Probier es mal so:
	
	
	



```
echo "<tr><td>" . $d['Tag'] . "</td><td>" . $d['Termin'] . "</td><td>" . $d['Wachleiter'] . "</td><td>" . $d['Wachgaenger'] . "</td></tr>";
```


----------



## Fabian Frank (28. April 2007)

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?


----------



## tobee (28. April 2007)

Mit einer WHILE Schleife müsste es gehen
	
	
	



```
<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>
```


----------



## Fabian Frank (29. April 2007)

danke vorab.

Aber da kommt folgende Fehlermeldung:



> Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web31/html/dlrg/wachplan.php on line 51



THX


----------



## Fabian Frank (30. April 2007)

hat keiner einen Lösungsvorschlag?


----------



## Zidane2006 (2. Mai 2007)

<HTML>
<HEAD>
<TITLE>SQL-Befehle</TITLE>
</HEAD>
<body>
<table border="1"> 
<tr><td>Name</td><td>Geburtstag</td></tr> 
<?php

#**********Verbindung herstellen********************
$db_link = mysql_connect('localhost', 'root', '');
if($db_link) {

#*********Verbindung besteht****************************
#echo "Verbindung wurde aufgebaut<br />\n";  
 #       echo "In der Variable steht folgendes: ".$db_link;           

          }
else {

#**********Keine Verbindung*****************************

       echo "Es konnte keine Verbindung aufgebaut werden"; 

 }

#***********Tabelle auswählen**********************
mysql_select_db("kunden");


#***********Daten holen****************************
$details = mysql_query("SELECT Name, GebDat FROM mitarbeiter"); 

#**********Alle Daten anzeigen********************
while($d = mysql_fetch_array($details))  {
echo "<tr><td>" . $d['Name'] . "</td><td>" . $d['GebDat'] . "</td></tr>";  
  }

?>  
</table> 

</body>
</HTML>


----------

