abraham Geschrieben 22. März 2005 Teilen Geschrieben 22. März 2005 Hilfe ich drehe mich im Kreise!! :beagolisc Ich möchte Daten aus einer mysql Tabelle auslesen (mit php) und diese Daten dann einer statischen HTML Tabelle übergeben. Z.b. 10 Datensätze auslesen und von links nach rechts in Spalten füllen.Somit könnte ich dann weitere Zellen anfügen und diese weiter verarbeiten. Vielen Dank für Deine Hilfe!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 22. März 2005 Teilen Geschrieben 22. März 2005 Ich weiss nicht, ob ich dich richtig verstanden habe aber wenn du nur Tabellenzellen haben willst dann geht doch sowas: out.println("<table>"); out.println("<tr>"); for(int i=0; i < databaseRecords.length; i++) { out.println("<td>"; out.println(databaseRecords[i].getContent()); out.println("</td>"; } out.println("</tr>"); out.println("</table>"); Ist zwar nicht PHP aber ich denke das Prinzip sollte klar sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 22. März 2005 Teilen Geschrieben 22. März 2005 Was meinst du mit "statisch"? Dynamisch ist es ja dann doch, da du außerhalb PHPs nicht weißt, wieviele Zeilen es letztendlich werden. Ansonsten ist der Ansatz von perdi richtig: <table> <?php $rh = mysql_query("SELECT ...",$db) or die("Fehler!"); while (($result = mysql_fetchrow($rh)) !== NULL) //Hoffe, daß ich das noch richtig im Kopf hab print "<tr><td>".$result[0]."</td><td>".$result[1]. ... ."</td></tr>"; ?> </table> [/PHP] EDIT: Die Print-Anweisung kannst du natürlich auch noch mal in eine Schleife packen, um die Anzahl der Spalten variabel zu machen. Ermittelt wird jene mit count($result) (glaub ich ). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FMG Geschrieben 22. März 2005 Teilen Geschrieben 22. März 2005 <table> <?php $rh = mysql_query("SELECT ...",$db) or die("Fehler!"); while (($result = mysql_fetchrow($rh)) !== NULL) //Hoffe, daß ich das noch richtig im Kopf hab print "<tr><td>".$result[0]."</td><td>".$result[1]. ... ."</td></tr>"; ?> </table>[/PHP] Fast, es heißt mysql_fetch_row() und nicht mysql_fetchrow. PHP schmeißt dich automatisch raus, wenn es keine Inhalte gibt, also muss eine Prüfung auf NULL nicht wirklich sein, wenn error_reporting in der php.ini deaktiviert ist, kann man es im else-Zweig ausgeben. Also z. B. so: [php]<?php // hier sollte die DB-Abfrage stehen ?> <table> <tr> <?php while($result = mysql_fetch_row($rh)) { ?> <td><?php echo $result[1]; ?></td> <?php } else { echo mysql_error(); } ?> </tr> </table> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
abraham Geschrieben 22. März 2005 Autor Teilen Geschrieben 22. März 2005 Danke für die schnellen Antworten! :cool: Das probier ich doch gleich mal aus. melde mich dann wieder. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
abraham Geschrieben 22. März 2005 Autor Teilen Geschrieben 22. März 2005 Ich habe das so codiert wie Du mir es geschrieben hast. Funktioniert gut jedoch hat das Ganze noch einen kleinen Fehler. Wenn ich dies so ausgebe macht er mir eine zig.spaltige Tabelle. Ich möchte nun jedoch nach einem Durchgang einen Tabellenumbruch generieren. Das heisst nach acht Daten soll die Tabelle auf der nächsten Zeile weitergehen und wieder acht Daten ausgeben u.s.w. Irgendwo muss ich doch einen <br> einbauen oder sowas ?? Hier mein Codeschnipsel: //Datenbank abfrage $res = mysql_query("select * from reisemobile ORDER BY id ASC"); ?> <table width="180" border="1" cellspacing="2" cellpadding="0"> <tr> <?php while($result = mysql_fetch_row($res)) { ?> <td><?php echo $result[1]; ?></td> <td><?php echo $result[2]; ?></td> <td><?php echo $result[3]; ?></td> <td><?php echo $result[4]; ?></td> <td><?php echo $result[5]; ?></td> <td><?php echo $result[6]; ?></td> <td><?php echo $result[7]; ?></td> <td><?php echo $result[8]; ?></td>//Hier sollte ein Zeilenumbruch/Tabellenumbruch rein <?php } ?> </tr> </table> Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 22. März 2005 Teilen Geschrieben 22. März 2005 <table width="180" border="1" cellspacing="2" cellpadding="0"> <tr> <?php $counter=0; while($result = mysql_fetch_row($res)){ $counter++; echo "<td>".$result[1]."</td>"; if($counter%8==0){ echo "</tr><tr>"; } } ?> </tr> </table> ungetestet Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
abraham Geschrieben 22. März 2005 Autor Teilen Geschrieben 22. März 2005 Toll von Euch!! Ich habe das Problem mit eurer Hilfe endlich gelöst. Hat nur noch an der richtigen Stelle ein <tr></tr> gefehlt. :bimei Danke Wie es so ist kommt nach einem gelösten Knopf der nächste!!!! Siehe neuen Eintrag Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.