2016-10-04 4 views
0

Ich habe 2 verschiedene HTML Div-Boxen und ich möchte sie mit Daten aus meiner Datenbank wie div 1 - div 2 - div 1 - div 2 zu füllen. Dafür habe ich mit Counter probiert und mache jede zweite Box zu div 2 aber scheint nicht funktioniert .. Ich habe die Ergebnisse verdoppelt. HierJedes zweite Element von Mysql in verschiedenen Div-Box

ist, was ich versucht habe bisher

$result = $pdo->prepare("SELECT * from projects"); 
$result->execute(); 
$counter=0; 

for($i=0; $row = $result->fetch(); $i++) 
{    
    $counter++; 
    echo '     
      <div class="itemm w_30"> 
       // load data 
      </div>'; 
    if($counter%2==0) 
    {          
      echo '<div class="itemm w_40"> 
        // load data 
       </div> ';      

    }   
} 

Also auf der Seite möchte ich Daten, um zu sehen wie

<div class="itemm w_30"> 
    // data 
</div> 
<div class="itemm w_40"> 
    // data 
</div> 
<div class="itemm w_30"> 
    // data 
</div> 
<div class="itemm w_40"> 
    // data 
</div> 

Antwort

1

Benutzen Sie einfach einen ternären Operator den gewünschten Klassennamen wie diese

$result = $pdo->prepare("SELECT * from projects"); 
$result->execute(); 
$onLeft = true; 

while($row = $result->fetch()) {    

    $class = $onLeft ? "itemm w_30" : "itemm w_40"; 

    echo "<div class='$class'>"; 
     // Show data 
    echo '</div>'; 

    $onLeft = !$onLeft; 
} 
4

Sie benötigen ELSE alle Ihre divs in IF setzen Block

if($counter%2==0) 
    {          
      echo '<div class="itemm w_40"> 
        // load data 
       </div> ';      

    } else { 
echo '     
      <div class="itemm w_30"> 
       // load data 
      </div>'; 
} 
2

Nur erstes Echo auf andere schreiben

$result = $pdo->prepare("SELECT * from projects"); 
$result->execute(); 
$counter=0; 

for($i=0; $row = $result->fetch(); $i++) 
{    
$counter++; 

if($counter%2==0) 
{          
     echo '<div class="itemm w_40"> 
       // load data 
      </div> ';      

} else{ 
echo '     
     <div class="itemm w_30"> 
      // load data 
     </div>'; 
}   
} 
1

Verwenden Sie einfach % for-Schleife zu setzen, keine Notwendigkeit, counter Variable.

for($i=0; $row = $result->fetch(); $i++) 
{    
    if($i%2==0) 
    {          
     echo '<div class="itemm w_40"> 
        // load data 
       </div> ';      
    }  
    else 
    { 
     echo '<div class="itemm w_30"> 
       // load data 
      </div>'; 
    } 
} 
Verwandte Themen