Forum Doku Wiki Blog

Forumsarchiv 2007, Oktober
Array dynamisch ausgeben

archivierte Beiträge lesen

  1. (PHP) Array dynamisch ausgeben von kim, 19. 10. 2007, 11:44

Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 11:44 Uhr von kim veröffentlicht.

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.

Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 12:11 Uhr von Tom veröffentlicht.

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 :-)


Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 12:28 Uhr von kim veröffentlicht.

>
> 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?

Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 13:09 Uhr von Siechfred veröffentlicht.

> 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.

Array dynamisch ausgeben

Der folgende Beitrag wurde am 21. 10. 2007, 13:22 Uhr von Kim veröffentlicht.

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

Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 13:13 Uhr von Tom veröffentlicht.

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 :-)


Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 13:17 Uhr von EKKi veröffentlicht.

Mahlzeit,

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

Ich würde empfehlen:

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

;-)


MfG,
EKKi

Array dynamisch ausgeben

Der folgende Beitrag wurde am 19. 10. 2007, 13:21 Uhr von Tom veröffentlicht.

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 :-)


© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4