Antworten auf deine Fragen:
Neues Thema erstellen

Problem bei Darstellung einer MySQL Datenbank in Tabelle.

rocksart

Noch nicht viel geschrieben

Moin moin,
ich muss für die Schule eine Online Bibliothek erstellen, habe nun Datenbänke angelegt, mit Daten gefüllt und die Daten in die Homepage eingebettet.
Aber ich möchte es um es übersichtlicher zu machen die Daten tabellarisch darstellen, nur weiß ich nicht wie. Habe leider kein gutes Tutorial dafür gefunden, wenn ihr eins kennt postet einen Link.
Ansonsten habe ich es so probiert:

$abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
<tr>
<td> echo $row("id")</td>
<td> echo $row("name")</td>
<td> echo $row("vorname")</td>
<td> echo $row("age")</td>
<td> echo $row("klasse")</td>
</tr>
}

Verbindung habe ich natürlich zur Datenbank hergestellt, klappt auch alles, nur das mit der Tabelle halt nicht.
Danke im Vorraus!
 

skoo

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Eine Tabelle muss vorher mit <table> "geöffnet" werden und hinterher auch wieder mit </table> geschlossen werden. Nur dann werden td's und tr's erkannt. (tr - spalte; td - zeile).

HTML:
<table>
  <tr>
    <td>1. Punkt aus der Datenbank</td>
  </tr>
  <tr>
    <td>2. Punkt aus der Datenbank</td>
  </tr>
...
</table>

SELFHTML: HTML/XHTML / Tabellen / Aufbau einer Tabelle

Da findest du alles nocheinmal ausführlich. Wenn du dir das anguckst sollte die Formatierung funktionieren. :)

Lg
 

rocksart

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Habs jetzt mit <table> gemacht und nur mal mit der Spalte ID probiert, kommt aber nichts. Weißer Background only. :/


$abfrage = "SELECT id, name, vorname FROM Bibliothek";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
<table border="1">
<tr>
<td>"echo $row->id"</td>
</tr>
</table>
}
 

Duddle

Posting-Frequenz: 14µHz

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Du arbeitest offensichtlich zum ersten Mal mit PHP (oder bist bisher noch nie in die Bedrängnis geraten, irgendetwas ausgeben zu müssen):
Text (vorallendingen HTML usw.) gibt man mit echo oder aus.

Ich finde es aber schon recht erstaunlich, dass dein Parser nicht meckert, wenn du einfach wilde <tr> usw. im Quellcode hast. Schalt mal in deiner PHP-Konfiguration Fehlermeldungen ein.


Duddle
 

tgreve

********

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Moin!
Deine Tabelle muss so aussehen (ziemlich einfach gehalten ;) ):

$abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
$ergebnis = mysql_query($abfrage);
echo "<table border='1' rules='all'>;
while ($row = mysql_fetch_object($ergebnis))
{
echo "<tr>";
echo "<td> $row[0] </td>"; //ID
echo "<td> $row[1] </td>"; //Name
echo "<td> $row[2] </td>"; //Vorname
echo "<td> $row[3] </td>"; //Alter
echo "<td> $row[4] </td>"; //Klasse
echo "</tr>";
}
echo "</table>";
 
Zuletzt bearbeitet:

rocksart

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Ich bin einfach nur ein 16jähriger Schüler im Informatikkurs, der ein wenig Hilfe braucht. ;D

Edit
Danke an tgreve, werds nach dem essen mal ausprobieren, sieht vielversprechend aus! TY!
 

tgreve

********

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Noch schöner wäre es, wenn du immer mit ?> und <?php das PHP aus- bzw einschaltest. Dann kannst du deine Tabelle in einem WYSIWYG-Editor immer noch vernünfirg sehen und einfacher optische Änderungen machen (z.B. mit dem Dreamweaver):

<?php
$abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
$ergebnis = mysql_query($abfrage);
?>
<table border='1' rules='all'>
<?php
while ($row = mysql_fetch_object($ergebnis))
{
?>
<tr>
<td> <?php echo "$row[0]"; //ID ?> </td>
<td> <?php echo "$row[1]"; //Name ?> </td>
<td> <?php echo "$row[2]"; //Vorname ?> </td>
<td> <?php echo "$row[3]"; //Alter ?> </td>
<td> <?php echo "$row[4]"; //Klasse ?> </td>
</tr>
<?php
}
?>
</table>
<?php


Viel Spaß noch beim rumprobieren ;)
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Viel Spaß noch beim rumprobieren ;)
Ich glaube das funktioniert nicht so ganz (oder ich habe das Manual falsch verstanden)
mysql_fetch_object() ähnelt mysql_fetch_array(), mit einem Unterschied - ein Objekt wird zurück geliefert anstatt eines Arrays. Indirekt bedeutet dies, dass Sie die Daten nur mit ihren Feldnamen und nicht mit dem Offset ansprechen können (Nummern sind ungültige Namen für Eigenschaften).
PHP: mysql_fetch_object - Manual
 
Zuletzt bearbeitet:

rocksart

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Hey, der Hintergrund ist schonmal nicht weiß, eine ganz kleine Tabelle erscheint jedoch ohne Inhalt. :> Ich probier mal bisschen rum, vielleicht komm ich ja selbst auf die Lösung. :p
 

tgreve

********

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

@netbandit:
Ja, du hast natürlich recht. Ich habe den code von rocksart bloß kopiert und auf diese anweisung nicht mehr geachtet. es muss natürlich heissen:

<?php
$verbindung = mysql_connect($Server,$Benutzer,$Kennwort);

$abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
$ergebnis = mysql_query($abfrage,$verbindung);
?>
<table border='1' rules='all'>
<?php
while ($row = mysql_fetch_array($ergebnis))
{
?>
<tr>
<td> <?php echo "$row[0]"; //ID ?> </td>
<td> <?php echo "$row[1]"; //Name ?> </td>
<td> <?php echo "$row[2]"; //Vorname ?> </td>
<td> <?php echo "$row[3]"; //Alter ?> </td>
<td> <?php echo "$row[4]"; //Klasse ?> </td>
</tr>
<?php
}
?>
</table>
<?php

(mit mysql_fetch_array gehts dann auch ;) )
 
Zuletzt bearbeitet:

rocksart

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Aber ich kann auch mysql_fetch_object stehen lassen und anstatt 0,1,2,3,4 .. id,name,vorname,alter,klasse schreiben. Oder etwa nicht?
 

tgreve

********

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Ja, dann ürde der Code in etwa so aussehen (ungestetet):

PHP:
<?php
 $verbindung = mysql_connect($Server,$Benutzer,$Kennwort);
 
 $abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
 $ergebnis = mysql_query($abfrage,$verbindung);
 ?>
 <table border='1' rules='all'>
 <?php
 while ($row = mysql_fetch_object($ergebnis))
 {
 ?>
     <tr>
         <td> <?php echo "$row->id"; ?> </td>
         <td> <?php echo "$row->name"; ?> </td>
         <td> <?php echo "$row->vorname"; ?> </td>
         <td> <?php echo "$row->age"; ?> </td>
         <td> <?php echo "$row->klasse"; ?> </td>
     </tr>
 <?php
 }
 ?>
 </table>

Du Kannst aber auch (wenn es nicht funktioniert) zwischenvaribalen bilden:
PHP:
<?php
 $verbindung = mysql_connect($Server,$Benutzer,$Kennwort);
 
 $abfrage = "SELECT id, name, vorname, age, klasse FROM Bibliothek";
 $ergebnis = mysql_query($abfrage,$verbindung);
 ?>
 <table border='1' rules='all'>
 <?php
 while ($row = mysql_fetch_object($ergebnis))
 {
    $id = $row->id;
    $name= $row->name;
    $vorname= $row->vorname;
    $age= $row->age;
    $klasse= $row->klasse;
 ?>
     <tr>
         <td> <?php echo "$id"; ?> </td>
         <td> <?php echo "$name"; ?> </td>
         <td> <?php echo "$vorname"; ?> </td>
         <td> <?php echo "$age"; ?> </td>
         <td> <?php echo "$klasse"; ?> </td>
     </tr>
 <?php
 }
 ?>
 </table>

Klar soweit? :)
 

rocksart

Noch nicht viel geschrieben

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Das erste funktioniert wunderbar, sind keine Zwischenvariablen mehr nötig.
Ein riiiiiesen Dankeschön an Dich! Hat ja einige Versuche gebraucht bis es geklappt hat, danke für deine Unterstützung! ;-)

Und btw: Schöne Homepage! Grüße von Fehmarn nach Nindorf. :-D
 

tgreve

********

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Ah, auch ein Nordlicht?! :) Wie cool.
Danke für deinen Kommentar wg der HP!

Viel Erfolg noch bei deinem Projekt
 

M3g4Star

Nicht mehr ganz neu hier

AW: Problem bei Darstellung einer MySQL Datenbank in Tabelle.

Kurzer "Tip" wenn es um solche Konstrukte geht:

PHP:
<td> <?php echo "$id"; ?> </td> ?>
Wenn du gerade anfängst zu programmieren versuch gleich sauber zu arbeiten und mach das ohne Anführungszeichen. Dein Server wird's dir danken.

Stringvariablen mit Anführungszeichen und Hochkomma - PHP Performance Optimierung

Und noch etwas kleines: Du kannst auch mittels direkt die Spaltennamen ansprechen. Dafür sorgt in dem Fall der "Ergebnistyp" den du als zweiten Wert mit der Funktion mitgibst.

PHP:
$row=mysql_fetch_array($result, MYSQL_NUM // IDs
echo  $row[0].$row[1]; // Beispielsausgabe

$row=mysql_fetch_array($result, MYSQL_ASSOC) // Namen
echo $row["id"].$row["name"]; // Beispielsausgabe

Mittels MYSQL_BOTH kannst du dir beides ausgeben lassen. Dies ist auch der Standardwert falls du keinen Typen explizit mit angibst.

Sry für den kleinen Exkurs. Wollte nur das es hier keinerlei Missverständnisse gibt.

Gruß M3g4
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.450
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben