kim: Array dynamisch ausgeben

Hallo,

ich lasse die Daten eine Mysql Datenbank ausgeben und mache nach einer bestimmten Anzahl (Bildern) einen Zeilenumbruch. Nun würde ich am Rand (vor dem umbruch) die Anzahl der Reihen hinzufgen.
Also ungefähr so:

Bild Bild Bild  Reihe 1
Bild Bild Bild  Reihe 2
Bild Bild Bild  Reihe 3

mein Code ist momentan so:

$array = array();
for ($i=1; $i<=3; $i++)
{
$array[] = $i;
 }
 $count++;
        if ($count == 3) {
echo " ".$i++."<br>";
 }
}

nun steht das nach jeder Reihe :Reihe 4

Ich bastle seit Stunden rum und vielleicht kann mir jemand helfen.
danke.

  1. Hello,

    mein Code ist momentan so:

    $array = array();

    for ($i=1; $i<=3; $i++)

    {
      $array[] = $i;
    }

    $count++;

    if ($count == 3)

    {

    echo " ".$i++."<br>";
    }
    }

    Was soll denn der Code bewirken?
    Kannst Du das bitte ienfach nochmal auf Deutsch erklären, der Reihe nach?

    Du hast eine Datenbank
    In der Datenbank stehen Dateinamen auf Bilder
    in jedem Datensatz eins?
    Die holst Du mit einer Abfrage in ein Resultset
    und überführst dieses dann in ein PHP-Array

    Wie?

    Dieses Array willst Du dann ausgeben, und in jeder Zeile (HTML) die Zeilennummer hinzufügen

    Habe ich das bisher richtig verstanden?

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. Du hast eine Datenbank
      In der Datenbank stehen Dateinamen auf Bilder
      in jedem Datensatz eins?
      Die holst Du mit einer Abfrage in ein Resultset
      und überführst dieses dann in ein PHP-Array

      Wie?

      Dieses Array willst Du dann ausgeben, und in jeder Zeile (HTML) die Zeilennummer hinzufügen

      Habe ich das bisher richtig verstanden?

      Ja im Prinzip richtig. Der Code ist auch nur ein kleines Stück.

      • erst die Datenbankabfrage z.B. 100 Stück
      • man will 3 Bilder nebeneinander, danach immer einen Umbruch
        deshalb das hier alles:
        ....
        if ($count == 3) {
                  $count = 0;

      }
      .....
      .....

      $count++;
               if ($count == 3) {
      echo "     ".$i++."<br>";

      }

      ergibt dann :
      Bild Bild Bild
      Bild Bild Bild
      .....

      nun gehts darum, dass ich neben die Reihen immer die Reihennummer schreiben lasse.

      if ($count == 3)
      ersetze ich immer mit ner anderen zahl - also immer mal eine andrer Anzahl von Bildern nebeneinander...

      Ist es verständlich?

      1. nun gehts darum, dass ich neben die Reihen immer die Reihennummer schreiben lasse.

        Dann definiere eine zweite Zählvariable, gib sie aus, wenn $count den Wert 3 hat und zähle sie eins hoch. Wenn $count wieder 3 ist, gib die nun hochgezählte zweite Variable aus und erhöhe sie wieder um 1 usw. usf. bis zum Ende.

        Siechfred

        --
        Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
        1. Hallo,

          ich möchte mich ganz herzlich für die Lösungen bedanken.
          Habe jetzt noch ein bisserl gebraucht, um die DB-Abfragen da rein zu bekommen. Aber nun funktioniert das einwandfrei. JUHU!
          Vielen lieben Dank.
          Kim

      2. Hello,

        Ja im Prinzip richtig. Der Code ist auch nur ein kleines Stück.

        • erst die Datenbankabfrage z.B. 100 Stück
        • man will 3 Bilder nebeneinander, danach immer einen Umbruch
          deshalb das hier alles:

        Ich vermute, dass Du dann eine Tewbelle benötigst, wenn die drei Bilder nicht floaten sollen, sondern immer garantiert drei in einer Zeile sein sollen.

        Wenn $_data das Array der Bildnamen aus der Datenbank ist:

        <?php   ### maketable.php ###

        Parameter

        $anzahl_bilder = 21;
        $spalten       = 3;

        Testdaten erzeugen

        $_data = array();

        for ($i=1; $i<$anzahl_bilder; $i++)      ## als Array mit den Bildnamen aus DB
        {
          $_data[$i] = "Bild $i";
        }

        Testdaten ausgeben

        if (is_array($_data))
          {
            $bildzahl = 0;
            $zeile = 1;
            echo "<table>\n";
            echo "  <tr>\n";

        foreach($_data as $key => $val)      ## $val ist der Name des Bildes
            {
              $bildzahl++;
              echo "    <td>$val</td>\n";        ## kannst auch <img src="$val" ...> schreiben

        if ($bildzahl % $spalten == 0)
              {
                echo "    <td>Zeile: $zeile</td>\n";
                echo "  <tr>\n  <tr>\n";
                $zeile++;
              }
            }

        ## Tabelle fertig bauen

        $rest = $bildzahl % $spalten;

        if ($rest > 0)
            {

        for ($i = $spalten - $rest; $i>0; $i--)
              {
                echo "<td>&nbsp;</td>\n";
              }

        echo "    <td>Zeile: $zeile</td>\n";
            }

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

        ?>

        Harzliche Grüße vom Berg
        http://bergpost.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

        1. Mahlzeit,

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

          Ich würde empfehlen:

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

          ;-)

          MfG,
          EKKi

          1. Hello Ekki,

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

            Ich würde empfehlen:

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

            Danke für die Korrektur.

            Harzliche Grüße vom Berg
            http://bergpost.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)