Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Mysql Tabelle mit php ausgeben“

charlie157

Noch nicht viel geschrieben

Hallo
Ich möchte Daten aus einer Mysql-Tabelle ausgeben.
Es soll eine Art Bildergalerie werden, bei der immer 4 Bilder mit Bildbeschreibung in einer TR nebeneinander stehen

Ich hab mal angefangen, den code zu erstellen, komme aber nun nicht weiter, weil ich nicht weiß, wie ich den Sprung von einer zur anderen TR hinbekomme,
also nach den ersten vier Bildern die nächsten 4 Bilder auch wieder in einer Reihe ausgeben kann.
Ich bin php-Newbie und bitte um Unterstützung

Hier mein Ansatz
PHP:
$anz = mysql_num_rows($query);
$zeilen = $anz / 4;
$i=0;
while($ergebnis=mysql_fetch_array($query))
{
 print"<tr>";
  print"<td><img src=\"$bild\"  /></td>";
  print"<td><img src=\"$bild\"  /></td>";
  print"<td><img src=\"$bild\"  /></td>";;
  print"<td><img src=\"$bild\"  /></td>";
print"</tr>";

 print"<tr>";
  print"<td><img src=\"$beschreibung\"  /></td>";
  print"<td><img src=\"$beschreibung\"  /></td>";
  print"<td><img src=\"$beschreibung\"  /></td>";;
  print"<td><img src=\"$beschreibung\"  /></td>";
print"</tr>";
$i++
if($i =4)
 {
   Ja, hier müsste so was kommen wie:
   Abbrechen und nochmal neu bis 4 Zählen, aber mit datensatz 5(4+1)      weitermachen. Aber ich weiß nicht, wie man das codet
 }
 

Duddle

Posting-Frequenz: 14µHz

AW: Mysql Tabelle mit php ausgeben

Du willst die mathematische Operation namens Modulo. In PHP ist % der Modulo-Operator. Beispiel:
PHP:
<?php
$i = 0;
echo "<table border='1'>\n";
echo "<tr>\n";
while($i < 42) {
	echo "<td>".$i."</td>\n";
	$i++;
	$rest = $i % 4;
	if($rest == 0) {
		//4 durchläufe fertig
		echo "</tr>\n";
		echo "<tr>\n";
	}

}
echo "</tr>\n";
echo "<table>\n";
?>

Nur willst du das wohl in deinem spezifischen Fall nicht, weil du in jedem Schleifendurchlauf exakt einen Datensatz holst, aber die Daten nicht direkt nacheinander ausgeben willst. Daher würde ich an deiner Stelle das Ergebnis der Datenbank in einem Array zwischenspeichern, wie zum Beispiel hier beschrieben: PHP: mysql_fetch_array - Manual

Danach kannst du das recht gut aufbauen:
PHP:
<?php
$array[0] = array('bild' => "foo.jpg", 'beschreibung' => 'dies ist foo');
$array[1] = array('bild' => "bar.jpg", 'beschreibung' => 'dies ist bar');
$array[2] = array('bild' => "foobar.jpg", 'beschreibung' => 'dies ist foobar');
$array[3] = array('bild' => "xfoobar.jpg", 'beschreibung' => 'dies ist xfoobar');
$array[4] = array('bild' => "xobar.jpg", 'beschreibung' => 'dies ist xbar');

$arrayCount = count($array);
$proZeile = 3;
$maxZeilen = ceil($arrayCount / $proZeile);

echo "<table border='1'>\n";
$i = 0;
for($zeile = 0; $zeile < $maxZeilen; $zeile++) {
	$von = $zeile*$proZeile;
	$bis = ($zeile+1)*$proZeile;
	
	//Bilder ausgeben
	echo "<tr>\n";
	for($i = $von; $i < $bis && $i < $arrayCount; $i++) {
		echo "<td>Bild: ".$array[$i]["bild"]."</td>\n";
	}

	echo "</tr>\n";
	echo "<tr>\n";

	//Beschreibungen ausgeben
	for($i = $von; $i < $bis && $i < $arrayCount; $i++) {
		echo "<td>beschreibung: ".$array[$i]["beschreibung"]."</td>\n";
	}
	echo "</tr>\n";

}
echo "</table>\n";
?>


Duddle
 

charlie157

Noch nicht viel geschrieben

AW: Mysql Tabelle mit php ausgeben

Ja vielen Dank.

Darauf kann ich prima aufbauen und meine Vorstellng umsetzten.
eigentlich ganz einfach.. :D
 
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

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.850
Mitglieder
67.221
Neuestes Mitglied
opaklaus
Oben