Antworten auf deine Fragen:
Neues Thema erstellen

Slyder aus Datenbank füllen

KATERchen

Aktives Mitglied

Hallo,
folgendes Problem. Auf meiner Seite habe ich einen Slyder eingefügt. funktioniert soweit auch ganz gut. Gefüllt wird dieser mit einer Liste. Diese fülle ich aus meiner Datenbank. Bis dahin alles kein Problem.
Nun will ich aber, dass drei oder vier Datensätze gleichzeitig in einem Slyder-Block (oder wie immer man das nennen will) angezeigt werden, sprich innerhalb eines <li> - Tags.
Versteht jemand, was ich meine und hat eine Idee? :)
Danke schon mal.
 

Myhar

Hat es drauf

Du meinst einen Slider?

Was spricht dagegen, die Datensätze in dem li-Tag anzuzeigen?
Code:
<li>
<p> Datensatz 1 </p>
<p> Datensatz 2 </p>
<p> Datensatz 3 </p>
<p> Datensatz 4 </p>
</li>
 

Myhar

Hat es drauf

Und wie sollen wir dir hier jetzt konkret helfen können? Da kann man dir nur sagen du gibst den selben Datensatz mehrmals aus. Das wird dir aber bei der Problemlösung nicht behilflich sein.
Du musst uns schon zeigen wie du etwas ausgbist.
 

KATERchen

Aktives Mitglied

Sorry, hab Geduld mit mir. Habe seit Jahren keine Webseiten mehr gebaut.
Code:
<?php

$ausgabe = mysqli_query($db, "SELECT * FROM $tb_waren LIMIT 10");
echo mysqli_error($db);
while ($row = mysqli_fetch_array($ausgabe)) {
    $ArtNr = $row["ArtNr"];
    $bezeichnung = $row["bezeichnung"];
    $material = $row["material"];
    $groesse = $row["groesse"];
    $besonderheit = $row["besonderheit"];
    $preis = $row["preis"];
    $prs = number_format($preis, 2, ',', ' ');
    $status = $row["id"];
    $Xstatus = $row["status"];
    $PG = $row["PG"];

    if (strlen($besonderheit) > 125) {
        $besonderheit = substr($besonderheit . ' ', 0, strpos(($besonderheit) . ' ', ' ', 125));
    }
    ?>
   



<li>
                    <div class="fenster">
                        <div class="fenster_foto">
                            <img src="../images/waren/tn_<?php echo $ArtNr?>.jpg" alt=""
                                height="200px" width="200px" />
                        </div>
                        <div class="fenster_text">
                            <div class="text_titel"><?php echo $bezeichnung?></div>
                            <div class="text_text"><?php echo $besonderheit?></div>
                            <div class="text_preis">72,50 Euro</div>
                        </div>
                    </div>
                </li>

<?php }?>
  </ul>
        </div>
 

Myhar

Hat es drauf

Doch, eine Idee habe ich schon. Konkret kann ich dir nicht helfen da ich mich mit PHP nicht perfekt auskenne.

Code:
while ($row = mysqli_fetch_array($ausgabe)) {
    $ArtNr = $row["ArtNr"];
 // mehr Variablen und so
  
  <li> 
  [...]
  </li>
 }

Mit while loopst du über die Elemente, erzeugst für jedes Element ein einzelnes LI.
Du musst hier einen Zähler erstellen und das li nur für jedes 4. Element erstellen (wenn du 4 Elemente in einem li-Element haben willst)

Da müsstest du wohl das while auf ein for(...) { } umschreiben und innerhalb dieses den Index abfragen.
Code:
for (i= 0; i < mysqli_fetch_array($ausgabe).length; i++) {
if( i mod 4  + 1 == 1) {
  echo "<li>" // öffne element alle 4 Elemente + 1
}
//Hier ist der Rest des Inhalts. 
if( i mod 4 == 0) {
  echo "</li>" // schließe element alle 4 Elemente
}
}

Bitte beachten: Das hier ist nur ein grober Aufbau, ob alle if-Abfragen korrekt sind bezweifle ich. Aber so in etwa müsste es funktionieren.
 

KATERchen

Aktives Mitglied

War dann doch etwas komplizierter, aber Du hast mich auf die richtige Spur gebracht, auch wenn Du mich erst aufs Glatteis geführt hat mit den Basic-Befehlen :)
Code:
        <div class="flexslider">
            <ul class="slides">
<?php

$ausgabe = mysqli_query($db, "SELECT * FROM $tb_waren ORDER by ID LIMIT 10");
echo mysqli_error($db);
while($row = mysqli_fetch_array($ausgabe))
{
    $a_id[]           = $row["id"];
    $a_ArtNr[]        = $row["ArtNr"];
    $a_bezeichnung[]  = $row["bezeichnung"] ;
    $material         = $row["material"];
    $groesse          = $row["groesse"];
    $a_besonderheit[] = $row["besonderheit"];
    $preis            = $row["preis"];
    $a_preis[]        = number_format($preis, 2, ',', ' ');
    $status           = $row["id"];
    $Xstatus          = $row["status"];
    $PG               = $row["PG"];
}

    $x_id             = array_chunk ( $a_id, 2 ); // Array wird geteilt
    $x_ArtNr          = array_chunk ( $a_ArtNr, 2 );
    $x_preis          = array_chunk ( $a_preis, 2 );
    $x_bezeichnung    = array_chunk ( $a_bezeichnung, 2 );
    $x_besonderheit   = array_chunk ( $a_besonderheit, 2 );

$zahl = count($x_id); // inhalt des Arrys wird berechnet


for ($a = 0; $a < $zahl; $a++)  //schleife so lange wie größe des Arrys
    {
        echo "<li>";
            for ($i = 0; $i < 2; $i++)  //zwei Einträge pro <li>
                {
?>
  
                    <div class="fenster">
                        <div class="fenster_foto">
                            <img src="../images/waren/tn_<?php echo  $x_ArtNr[$a][$i]?>.jpg" alt=""
                                height="200px" width="200px" />
                        </div>
                        <div class="fenster_text">
                            <div class="text_titel"><?php echo $x_bezeichnung[$a][$i]?></div>
                            <div class="text_text"><?php echo $x_besonderheit[$a][$i]?></div>
                            <div class="text_preis"><?php echo $x_preis[$a][$i]?></div>
                        </div>
                    </div>
<?php
                }
?>
</li>

<?php
    }
?>
              </ul>

sollte jemand eine elegantere Methode einfallen, wäre ich dankbar :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben