Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

DB Daten an statische Tabelle übergeben

Empfohlene Antworten

Veröffentlicht

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!?

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

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 :) ).

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

Danke für die schnellen Antworten! :cool:

Das probier ich doch gleich mal aus.

melde mich dann wieder.

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


	 	<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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.