hi ich lese mit
$ergebnis=mysql_fetch_object($result);
aus und gebe mit einr while schleife aus
while($ergebnis=mysql_fetch_object($result)){
echo$zeile->name;
}
das ist auch ok so aber ich will nun folgendes, dass in einer schleife 2 ergebnisse ausgelesen werden, nämlich $zeile->name und dann genau auch noch der nächste name, dass ich quasi 1 durchlauf der while schleife brauche, um 2 ergebnisse auszulesen
nur wie mache ich das
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
verwende innerhalb der while-Schleife
// dann würde bei einer ungeraden Ergebnismenge nur der erste Datensatz ausgegeben
{
// "2." Datensatz ausgeben
}
soll die Verarbeitung nur erfolgen wenn ein Datensatzpaar vorhanden ist dann mach es so:
{
// ...
}
Evtl. lässt sich das ganze allerdings durch änderung der Tabellenstruktur noch besser lösen. Poste doch einfach mal wie die Tabelle aufgebaut ist...
CU Borlander
while($zeile=mysql_fetch_object($result)){
$kommentare = mysql_num_rows(mysql_query("select * from kommentare2 where msg_id='$zeile->id'",$db));
echo"
<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
<tr><td>";
while($a<=1){
echo"
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">
<tr>
<td width=\"62%\"><div id=\"text_headline\">$zeile->headline</div></td>
<td colspan=\"2\" rowspan=\"3\"> </td>
<td rowspan=\"3\" valign=\"top\" style=\"border-left: 1px solid #666666\"><div id=\"text_klein\">
$zeile->datum<br>
Redakteur: ($zeile->kuerzel";
if(!empty($zeile->bearbeiterkuerzel)) echo "/$zeile->bearbeiterkuerzel";
echo")<br>
$zeile->counter mal gelesen<br>
$kommentare Lesermeinung(en)<br>Länge: ";
echo strlen($zeile->nachricht);
echo" Zeichen</div>
</td>
</tr>
<tr>
<td width=\"62%\"><div id=\"text_teaser_start\">$zeile->teaser</div></td>
</tr>
<tr>
<td width=\"62%\"><a href=\"content_show.php?nsid=$nsid&csid=$csid&id=$zeile->id\"><img src=\"bilder/mehr.gif\" border=\"0\"></a></td>
</tr>
</table>
</td><td>";
$a++;
}
echo"
</td></tr></table>
";
}
Folgendermassen sollte es aussehen in tabellenform sollten 2 TAbellen in einer grossen TAbelle nebeneinander horizontal angeordnet werden,
nach 2 soll dann jeweils umbrochen werden, in der unteren zeile wieder die nächsten 2 stehen und so weiter, also so:
|Ausgabe1|Ausgabe2|
-----------------
|Ausgabe3|Ausgabe4|
usw.
Warum verwendest Du kein JOIN im Query?
2 TAbellen in einer grossen TAbelle nebeneinander horizontal angeordnet werden,
Dann wäre die IF-Version die richtige, also:
function show_content($row)
{
// ...
}
// ...
echo '<TABLE>';
while($zeile=mysql_fetch_object($result))
{
echo '<TR><TD>';
show_content($zeile); // linke Spalten ausgeben
echo '</TD><TD>';
if($zeile=mysql_fetch_object($result))
{
show_content($zeile); // rechte Spalte ausgeben
}
echo '</TD></TR>';
}
echo '</TABLE>';
// ...
CU Borlander
Danke dir vielmals aber was meinst du mit JOIN?
Mit JOIN kannst Du mehrere Tabellen verknüpfen.
Beipiel:
2 Tabelle:
Arbeitnehmer (ID, Name, Abteilung, ...)
Abteilung (ID, Bezeichnung)
Mittels JOIN kannst Du Dir nun den Namen der Abteilung zurückgeben lassen in der jeder Mitarbeiter arbeitet
SELECT Arb.Name AS Mitarbeiter, abt.Bezeichnung AS Abteilung
FROM Arbeitnehmen AS Arb LEFT JOIN Abteilung AS abt ON Arb.Abteilung = abt.ID
CU Borlander
Hallo und super, der tipp ist erste sahne, aber ich würde gern noch wissen,was die schleife macht, also ich meine die if abfrage, was genau bewirkt sie dass dann die folgende zeile gelesen wird
Die IF-Abfrage mach eigentlich das gleiche wie die While-Schleife, es wird geprüft ob ein Datensatz zurückgegeben wird. Wird keiner zurückgegeben (sondern stattdessen false) würde es sonst mächtig krachen. Hoffe das hilft Dir weiter.
CU Borlander