Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Modulo
Hallo,
ich habe ein kleines Problem mit der Ausgabe nebeneinander. Ich möchte immer nach 2 Werten eine neue Zeile beginnen, klappt auch soweit. Aber wenn ich nun nur einen Wert habe in einer neuen Zeile, dann hängt er kein /tr mit an.
$counter = 1;
while($result=$DB->fetch_array($query)) {
if($counter%2==1) {
eval ("\$database_row.= \"".templateinclude("tr_offen")."\";");
}
eval ("\$database_row.= \"".templateinclude("td_daten_auf_zu")."\";");
if($counter%2==0) {
eval ("\$database_row.= \"".templateinclude("tr_zu")."\";");
}
$counter++;
}
Hallo ace23,
ich sehe zwei Möglichkeiten:
1. Nach Verlassen der Schlaufe den Zählerstand prüfen. Wenn der Zähler ungerade ist, ist die Zeile vervollständigt worden, also sein lassen. Ist der Zähler hingegen gerade, ist die Zeile nicht vervollständigt worden, und man muss sie noch von Hand abschliessen.
2. Vor Betreten der Schlaufe die Anzahl Einträge im Array prüfen: Wenn die Anzahl ungerade ist, einen Dummyeintrag hinzufügen, der nur eine leere Ausgabe bewirkt.
fg Smofi :cool:
hm letzteres gefällt mir denke ich besser, weil dann auch die tabelle ordentlich wäre. Nungut dann werd ich mal schauen wie ich das hinbekomme.
Danke erstmal für die Tipps
hm ok also irgendwie bekomme ich das nicht hin.
Womit soll ich den bei nummer 2 vergleichen?
Wie bekomme ich denn in das array von der DB einen eintrag hinzu der leer sein soll?
Mit den count der zeilen der DB und dem $counter oder wie prüfe ich ob das gerade ist oder nicht?
undefined
08-03-2006, 11:12
Erstelle mit range() ein Array das die geforderte Menge der Inhalte enthält.
Nehme die Anzahl der der Datenmenge und merge. Danach wie gehabt durch die Schleife jagen.
Sorry das ich erst jetzt antworten kann,
meinst Du mit dem Array aus der DB mergen und dann erst die while schleife?
Hallo Ace,
das könnte eventuell so gehen:
...
$datenbank_array = mysql_query("SELECT * FROM bla;");
...
if (mysql_num_rows($datenbank_array) % 2 == 1)
{
// ein leerer dazu
$richtiges_array = array_merge($datenbank_array, array("dummy" => ""));
}
// Mit $richtiges_array weiterarbeiten
...
Ich kenne die Details Deiner Umgebung nicht. Sonst weiche eben zur Lösung 1 aus. Da musst nur ein if schreiben und ggf. den Zeilenabschluss ausgeben. Mir selber ist der Aufbau eines Arrays von der Datenbank wie im obigen Beispiel $datenbank_array auch nicht lupenrein klar.
hm leider geht das nicht weil:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array
Hmhm so ein scheiss
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.