2016-09-13 2 views
0

Ich habe ein Eulenkarussell, das auf jeder Folie zwei Erfahrungsberichte zeigt. Aber die zwei Folien sind in 1 Element, das ich loopen möchte. Jedes Zeugnis kommt aus der Datenbank.Abrufen von zwei Datensätzen in einem Schleifenelement

So zum Beispiel habe ich meine Schleife wie folgt aus:

foreach($array as $testimonial){ 
    $testimonials .= ' 
    <div class="testwrapper"> 
     <div class="testimonial"> 
      '.$testimonial['title'].' 
     </div> 
     <div class="testimonial"> 
      '.$testimonial['title'].' 
     </div> 
    </div>'; 
} 

Die beiden Titel sind jeweils aus verschiedenen Zeugnissen, Ich denke, ich habe ihre Zahl im Array verwenden, aber wie kann ich das tun? So Wert Array 0,1 auf der ersten Folie dann 2,3 auf dem zweiten usw.

Aktuellen Code nach Antwort von RichardBernards:

// Haal alle referenties/testimonials op 
$test    = "SELECT * FROM `web_content` WHERE catid = 12 AND state = 1 ORDER BY ordering"; 
$testcon   = $conn->query($test); 
$testcr    = array(); 
while ($testcr[] = $testcon->fetch_array()); 

for($i = 0; $i <= count($testcr); $i+2) { 
    $testimonials .= ' 
    <div class="reviews"> 
     <div class="client left"> 
      <p class="large comment"> 
       '.$testcr[$i]['title'].' 
      </p> 
      <div class="media"> 
       <div class="media-left"> 
        <a href="#fakelink"> 
         <img class="avatar media-object " src="assets/images/klanten/sdgsdg.png" alt="avatar" /> 
        </a> 
       </div> 
       <div class="media-body"> 
        <h5 class="media-heading">Name</h5> 
        <p>Bedrijf</p> 
       </div> 
      </div> 
     </div> 
     <div class="client right"> 
      <p class="large comment"> 
       '.$testcr[$i+1]['title'].' 
      </p> 
      <div class="media"> 
       <div class="media-left"> 
        <a href="#fakelink"> 
         <img class="avatar media-object " src="assets/images/klanten/testimonial_foto_sdgdsg.jpg" alt="avatar" /> 
        </a> 
       </div> 
       <div class="media-body"> 
        <h5 class="media-heading">Name</h5> 
        <p>Bedrijf</p> 
       </div> 
      </div> 
     </div> 
    </div>'; 
} 

echo $testimonials; 
+0

vielleicht mit einer For-Schleife? – RichardBernards

+0

warum nicht ein Forloop erstellen, das 2 statt 1 für jede Schleife iteriert? – Neat

+0

Ihr Code ist falsch. Da du Karussell verwendest und du zwei div darin geschrieben hast, teilt es dein Karussell nicht in zwei divs auf, es wird dir im selben Slider angezeigt. Erstellen Sie stattdessen zwei Karussells. – KinjalMistry

Antwort

1

So etwas ... Mit einem for-Schleife:

for($i = 0; $i <= count($array); $i+=2) { 
    $testimonials .= ' 
    <div class="testwrapper"> 
     <div class="testimonial"> 
      '.$array[$i]['title'].' 
     </div> 
     <div class="testimonial"> 
      '.$array[$i+1]['title'].' 
     </div> 
    </div>'; 
} 
+0

Ich bekomme den folgenden Fehler: Erlaubte Speichergröße von 134217728 Bytes erschöpft (versucht, 133169626 Bytes zuzuordnen). Führt dieser Code zu einer Endlosschleife? – twan

+0

Ich füge meinen aktuellen Code zur Frage hinzu – twan

+0

@twan Wie viele Zeugnisse gibt es? – RichardBernards

Verwandte Themen