Forenindex » Programmierung/Entwicklung » PHP und MySQL » Absatz einfügen nach jede ausgabe

Absatz einfügen nach jede ausgabe

Anonym
Beiträge gesamt: 22827

17. Sep 2004, 21:18
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
Hallo Leute,
Ich habe ein problem und zwar : ich will bilder aus meiner datenbank auslesen, aber jede zeile muß nur drei bilder enthalten und dann kommt ein absatz danach wieder drei bilder,
kann mich jemand weiter helfen ?
Hier mein code :

for ($i=0; $i<$num; $i++)
{
$row = mysql_fetch_assoc($sql);
$ff=$row['thumbURL'];
$nn = mysql_result($sql, $i, "name");
$vn = mysql_result($sql, $i, "id");
$bg = mysql_result($sql, $i, "beschreibung");
$ct = $i + 1;

echo "<tr>
<td>$ct</td>
<td>$nn</td>
<td>$bg</td>
<td><img src="".$ff.""></td>";
}
echo "</table>";

Absatz einfügen nach jede ausgabe

Tömsken
Beiträge gesamt: 720

20. Sep 2004, 01:35
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
Das Prinzip ist eigentlich ganz einfach:

* Du lässt eine Variable hochzählen (haste schon: $i)

* Bei jedem Schleifendurchgang prüftst du, ob bereits 3 Bilder ausgegeben wurden:

if (($i % 3) == 3) {
// Eine Zeile voll
} else {
// Noch keine 3 Bilder zusammen
}

* Wenn die Zeile voll ist, schließst du die </tr> und öffnest ggf. eine neue. Andernfalls gibst du eben ein weiteres Bild aus (<td><img...></td>).


(Dein Script schließt übrigens die <tr> nicht - sollte es aber ;)

Ciao, Tom

Absatz einfügen nach jede ausgabe

ganesh
Beiträge gesamt: 1981

20. Sep 2004, 02:10
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
if (($i % 3) == 3)
sollte wohl
if (($i % 3) == 0)

heissen...

übrigens besser mit 1 zu zählen beginnen statt 0 ($ct statt $i nehmen, und diese jeweils erhöhen $ct++)

Absatz einfügen nach jede ausgabe

pat87
Beiträge gesamt: 581

20. Sep 2004, 11:17
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
kann ich denn diese variable ($ct) auch für arrays brauchen?

mich hatt immer gestört, dass ich bei $i 1 abzählen muss

mfg [email protected]
---
so einfach wie möglich, aber nicht einfacher! (albert einstein)

Absatz einfügen nach jede ausgabe

Tömsken
Beiträge gesamt: 720

20. Sep 2004, 22:26
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
@ganesh

Yo, besser... aber auch nicht richtig ;)
damit mein Mini-Pseudo-Beispiel richtig funktioniert, müsste es heißen:

if (($i % 3) == 2) { // Neue Zeile ...

denn:

0 % 3 == 0
1 % 3 == 1
2 % 3 == 2
3 % 3 == 0
4 % 3 == 1
etc.

Absatz einfügen nach jede ausgabe

Anonym
Beiträge gesamt: 22827

22. Sep 2004, 14:04
Bewertung:

gelesen: 1666

Beitrag als Lesezeichen
Hallo nochmal an alle, ich habe es probiert aber ich kann die anzeige noch nicht richtig kriegen, bitte hilft mir, hier ist mein code:
kann mir jemand sagen wo ich die if anweisung einfügen soll?

<?php

$db_connect = mysql_connect();
if ($db_connect)
{

if(mysql_select_db('test')) {

}
else
echo "Datenbank konnte nicht gewaehlt werden";
}
else{
echo " Es konnte leider keine Verbindung zur Datenkank hergestellt werden\n";
echo " Falls dieser Fehler auch nach einem 2. Versuch auftritt, infomieren sie mich bitte per
<a href="mailto:[email protected]"&gt;Email&lt;/a&gt;\n";
}

$kat = $_GET['kat'];
//$id = $_GET['id'];
$sql = mysql_query("SELECT * from bild WHERE kat = '".$kat."'");
$num = mysql_num_rows($sql);
//echo "<br><br>";
//echo "$num bilder unter diese Kategorie<br>";
//echo "<br><br>";
//Tabellenbwginn
echo "<table border>";

for ($i=0; $i<$num; $i++)
{
$row = mysql_fetch_assoc($sql);
$ff = $row['thumbURL'];
$vn = mysql_result($sql, $i, "id");
$ct = $i + 1;

echo "

<td><a href="showpic.php?kat=".$kat."&id=".$vn.""><img src="".$ff."" border ="0"></td></a>";

}
echo "</table>";
?>