Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Problem mit Modulo

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.09.2001
    Beiträge
    101

    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.

    PHP-Code:
        $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++;
        } 

  2. #2
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42
    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

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.09.2001
    Beiträge
    101
    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

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.09.2001
    Beiträge
    101
    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?
    Geändert von ace23 (08-03-2006 um 10:34 Uhr)

  5. #5
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    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.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.09.2001
    Beiträge
    101
    Sorry das ich erst jetzt antworten kann,

    meinst Du mit dem Array aus der DB mergen und dann erst die while schleife?

  7. #7
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42
    Hallo Ace,

    das könnte eventuell so gehen:
    PHP-Code:
    ...
    $datenbank_array mysql_query("SELECT * FROM bla;");
    ...
    if (
    mysql_num_rows($datenbank_array) % == 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.

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.09.2001
    Beiträge
    101
    hm leider geht das nicht weil:
    Warning: array_merge() [function.array-merge]: Argument #1 is not an array

    Hmhm so ein scheiss

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •