Seite 1 von 1

Abfragen einer SQL-Datenbank in Tabelle

Verfasst: 23.05.2006 09:33
von marcus1979
Hallo, hab mal wieder ein Problem, bin gerade dabei mich in PHP einzuarbeiten und hab' das alles nach Claudias Anleitung von schattenbaum.net gemacht.
Es handelt sich um die einfachste Form einer Abfrage. So wie ihr es in den u.g. Codes sehen könnt, funktioniert es auch, aber wenn ich nicht nur Stückzahl anzeigen lassen will, sondern auch Produktionszeit, dann funktioniert es nicht, es wird immer nur das erste angezeigt.
Ich weiß, saublöd formuliert, aber ich kanns net besser.
So funktionierts:

Code: Alles auswählen

<?include("../dbconnect.php");
$abfrage = "SELECT * FROM allgemeines WHERE id = 1";
$ergebnis = mysql_query($abfrage);
?>

Code: Alles auswählen

<td width="240" height="18"><fontface="Verdana">Stückzahl:</font></td>
<td width="505" height="18"><font face="Verdana"><?while($row = mysql_fetch_object($ergebnis)){echo $row->stueckzahl;}?></font></td>
So funktionierts nicht:

Code: Alles auswählen

<?include("../dbconnect.php");
$abfrage = "SELECT * FROM allgemeines WHERE id = 1";
$ergebnis = mysql_query($abfrage);
?>

Code: Alles auswählen

<td width="240" height="18"><fontface="Verdana">Stückzahl:</font></td>
<td width="505" height="18"><font face="Verdana"><?while($row = mysql_fetch_object($ergebnis)){echo $row->stueckzahl;}?></font></td>

td width="240" height="18"><font face="Verdana">Produktionszeit:</font></td>
<td width="505" height="18"><font face="Verdana"><?while($row = mysql_fetch_object($ergebnis)){echo $row->produktionszeit;}?></font></td>
Ich weiß nicht woran es liegt und der 1000 Seiten Wälzer neben mir, hilft mir auch nicht weiter.

Bin für jeden Tip dankbar.

Grüße
Marcus

P.S. das Gedöns dazwischen hab' ich zwecks übersichtlichkeit weggelassen.

Verfasst: 23.05.2006 12:14
von Maxxxx
Warum probierst du es nicht gleich so?

Für mehrere Ergebnisse also ohne "WHERE id = 1"
<?php
include("../dbconnect.php");
$abfrage = "SELECT * FROM allgemeines";
$ergebnis = mysql_query($abfrage);
?>

<table width="745px">
<tr>
<td width="240px">Stückzahl</td>
<td width="505px">Produktionszeit"</td>
</tr>

<?php
// Es soll soll immer eine neue Zeile erstellt werden, solange Ergebnisse da sind
while ($row = mysql_fetch_assoc($ergebnis))
{
echo ("
<tr>
<td width="240px">" . $row["stueckzahl"] . "</td>
<td width="505px">" . $row["produktionszeit"] . "</td>
</tr>
}
?>

</table>
Für ein Ergebniss also mit "WHERE id = 1"
<?php
include("../dbconnect.php");
$abfrage = "SELECT * FROM allgemeines WHERE id = 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_assoc($ergebnis);
?>

<table width="745px">
<tr>
<td width="240px">Stückzahl</td>
<td width="505px">Produktionszeit"</td>
</tr>

<?php
echo ("
<tr>
<td width="240px">" . $row["stueckzahl"] . "</td>
<td width="505px">" . $row["produktionszeit"] . "</td>
</tr>

?>

</table>
Habe jetzt mal viel weggelassen und nur die Dinge geschrieben, die wirklich für die Abfrage wichtig sind. Bin mir nicht ganz sicher ob es klappt, da durchaus Schreibfehler drinn sein könnten. Aber probiere es mal auf die Weise.

Verfasst: 23.05.2006 12:35
von marcus1979
Thanks, ich brauch wohl letzteres, da ich das alles unter der ID 1 habe.
Edit, man weiß ja nie wer mitliest. :D

Verfasst: 23.05.2006 20:06
von Maxxxx
Ja der einzige Unterschied ist eine eingebaute Schleife. Sonst ist nix anders. Hoffe zumindest es hat geholfen.