2016-07-25 5 views
0

Ich habe eine Datenbank, ich muss aus ihnen vier Datensätze auf einmal extrahieren.Extrahiere vier Datensätze gleichzeitig aus einer Datenbank mit PHP und Bootstrap

alle Datensätze zu extrahieren ich benutze diese Abfrage:

SELECT image FROM song ORDER BY date DESC 

aber ich brauche 4 Datensatz zu einem Zeitpunkt zu verarbeiten, weil in HTML ich eine Zeile alle 4 Bilder schließen.

echo"<div class='row'>"; 
while ($dati=mysqli_fetch_assoc($result)) 
{ 
    echo"<a href='song.php'>"; 
    echo"<div class='col-md-3'>"; 
    echo"<img class='img-responsive' src='".$dati['immagine']."'><br>"; 
    echo"</div>"; 
    echo"</a>"; 
} 
echo "</div><br>"; 

Ich muss wieder den Befehl über alle 4 Bildaufzeichnung, solange gibt es Aufzeichnungen nicht in der Datenbank verarbeitet.

+0

Mögliches Duplikat [php while-Schleife Variable für jeden dritten div] (http://stackoverflow.com/questions/1806582/php-while-loop-variable-for-every-third-div) – Epodax

Antwort

0

Verwenden Modul von 4 und zeigen Sie Ihr Format

<?php 
$counter=0; 
$str=""; 
while ($dati=mysqli_fetch_assoc($result)) 
{ 
    if($counter%4==0) 
    { 
     $str="<div class='row'>"; 
    } 

    $str.="<a href='song.php'>"; 
    $str.="<div class='col-md-3'>"; 
    $str.="<img class='img-responsive' src='".$dati['immagine']."'><br>"; 
    $str.="</div>"; 
    $str.="</a>"; 

    if($counter%4==0) 
    { 
     $str.="</div><br>"; 
    } 


    $counter++; 
} 

echo $str; 
?> 

oder wenn Sie nicht wollen Speicher in String drucken direkt wie diese

<?php 
$counter=0; 

while ($dati=mysqli_fetch_assoc($result)) 
{ 
    if($counter%4==0) 
    { 
     echo "<div class='row'>"; 
    } 

    echo "<a href='song.php'>"; 
    echo "<div class='col-md-3'>"; 
    echo "<img class='img-responsive' src='".$dati['immagine']."'><br>"; 
    echo "</div>"; 
    echo "</a>"; 

    if($counter%4==0) 
    { 
     echo "</div><br>"; 
    } 


    $counter++; 
} 

?> 
1

LIMIT 4 aber ich würde empfehlen Sie den Datensatz einmal abzufragen und einen Zähler in der Schleife hinzufügen zu wissen, wenn Sie eine neue Zeile haben

0

Verwenden Sie diese Abfrage

SELECT image FROM song ORDER BY date DESC limit 4 
0

Dies zeigt vier Bilder in jeder Zeile in Ihrem HTML mit Bootstrap nach der Ausführung SELECT image FROM song ORDER BY date DESC.

$num_rows = mysqli_num_rows($result); 
for ($j = 0; $j < $num_rows; ++$j) 
     $dati[$j] = mysqli_fetch_assoc($result); //$dati is now a multidimensional array with an indexed array of rows, each containing an associative array of the columns 

// You could alternatively use a for loop 
// for($i=0; $i<$num_rows; $i++) insert while loop 
$i=0; 
while($i<$num_rows){ // start the loop to insert images in every row, 4 images per row 
    echo"<div class='row'>"; 
    echo"<a href='song.php'>"; 
    echo"<div class='col-md-3'>"; 
    if($i<num_rows) // this prevents excessive rows from being displayed after $i reaches the number of rows 
    echo"<img class='img-responsive' src='".$dati[$i++]['immagine']."'><br>"; //post-increment $i 
    if($i<num_rows) 
    echo"<img class='img-responsive' src='".$dati[$i++]['immagine']."'><br>"; 
    if($i<num_rows) 
    echo"<img class='img-responsive' src='".$dati[$i++]['immagine']."'><br>"; 
    if($i<num_rows) 
    echo"<img class='img-responsive' src='".$dati[$i++]['immagine']."'><br>"; 
    echo"</div>"; 
    echo"</a>"; 
    echo "</div><br>" 
} 
Verwandte Themen