2017-07-27 1 views
0

Ich weiß, dass dies eine sehr einfache Lösung haben könnte, aber ich kann es einfach nicht finden, ich möchte 3 verschiedene Datensätze anzeigen, aber im Moment bekomme ich den ersten Datensatz 3 mal der 2. und so weiter.Erhalte 3 einzigartige Datensätze innerhalb von 1 While-Schleife

Siehe Bild der Ergebnisse hier:

ich speziell wollen 3 verschiedene Ergebnisse, eine Ausbreitung über die Länge 12 Bootstrap-div und zwei verteilt auf die beiden 6 Länge Bootstrap divs.

$query="SELECT postID, postTitle, postDesc, postDate FROM blog_posts ORDER BY postID DESC"; 
$result=mysqli_query($conn, $query); 

$counter = 0; 
$max = 3; 

while (($row = mysqli_fetch_array($result)) and ($counter < $max)) { 

echo '<div class="row">'; 
    echo '<div class="col-md-12">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>';    
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
    echo '</div>'; 
echo '</div>';  

echo '<div class="row">'; 
    echo '<div class="col-md-6">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>';    
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
    echo '</div>';  
    echo '<div class="col-md-6">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>';    
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
    echo '</div>';  
echo '</div>'; 
$counter++; 

} 

Antwort

1

ist dies, weil Sie 3 Block div echo Zeit für jede Schleife

echo '<div class="row">'; 
..... 

echo '<div class="row">'; 
    echo '<div class="col-md-6">'; 
...  
echo '<div class="col-md-6">'; 
.... 

aktualisiert tun:

while(($row = mysqli_fetch_array($result)) and ($counter < $max)) 
{ 
    if($counter == 0) 
    { 
     echo '<div class="row">'; 
     echo '<div class="col-md-12">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>'; 
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
     echo '</div>'; 
     echo '</div>'; 
    } 
    elseif($counter == 1) 
    { 
     echo '<div class="row">'; 
     echo '<div class="col-md-6">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>'; 
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
     echo '</div>'; 
    } 
    else 
    { 
     echo '<div class="col-md-6">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>'; 
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
     echo '</div>'; 
     echo '</div>'; 
    } 
    $counter++; 
} 
+0

Aber ich versuche speziell, sie in bootstrap divs unterschiedlicher Länge einzugeben. Die erste Reihe ist 12 lang und die zweite Reihe ist jeweils 6fach. Thats, wo das Problem hereinkommt. –

+0

Ich sehe, aktualisierte meine Antwort – ewwink

+0

Perfect! Danke ewwink! –

0

Sie können es so schreiben.

Sie müssen auch an Ihren Schleifen arbeiten.

$query="SELECT postID, postTitle, postDesc, postDate FROM blog_posts ORDER BY postID DESC"; 
$result=mysqli_query($conn, $query); 

$counter = 0; 
$max = 3; 
$divMd = 12; 


while (($row = mysqli_fetch_array($result)) and ($counter < $max)) { 

if($counter ==1){ 
    $divMd = 6; 
} 

if($counter!=2){ 
    echo '<div class="row">'; 
    } 
    echo '<div class="col-md-'.$divMd.'">'; 
     echo '<h3><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h3>'; 
     echo '<small style="font-size: 12px;color:#ADACAD;"> Posted on '.date('l, jS M Y H:i:s', strtotime($row['postDate'])).'</small>'; 
     echo '<p>'.$row['postDesc'].'</p>';    
     echo '<p><a href="viewpost.php?id='.$row['postID'].'" class="btn btn-default">Read More</a></p>'; 
    echo '</div>'; 

    if($counter!=1){ 
    echo '</div>'; 
    }  

$counter++; 

} 
+0

Aber ich versuche, speziell auf diesen in eine Bootstrap-divs unterschiedlicher Längen . Die erste Reihe ist 12 lang und die zweite Reihe ist jeweils 6fach. Thats, wo das Problem hereinkommt. –

+0

Überprüfen Sie die Antwort jetzt, es aktualisiert. – Asim

+0

Vielen Dank für Ihre Hilfe, die Antwort oben von Ewwink war genau das, was ich brauchte :) –

Verwandte Themen