kaldırmak yinelenen sütunlar bir döngü içinde yazdırılan

4 Cevap

Ben bir foreach döngüsü kullanıyorum çünkü bir dizi ancak sütunların çok kendi baskı yazdırmak için aşağıdaki kodu kullanıyorum ...

Nasıl sadece 1 Col1 ve 1 col2 yazdırmak ama çalışıyor yazdırılan doğru dizeleri tutmak olabilir?

<div class="feature-text">
<?php 
//Now print the associated cms_page_parts
$qpp = $conn->query("SELECT * FROM cms_page_part WHERE page_id=$id"); 
$rpp = $qpp->fetchAll(PDO::FETCH_ASSOC);

foreach ($rpp as $row) {
?>
  <div id="col1">
    <p><?php echo $row['name']=='body' ? $row['content_html'] : NULL; ?></p>
  </div>
  <div id="col2">
    <p class="testimonial"><?php echo $row['name']=='sidebar' ? $row['content_html'] : NULL; ?></p>
  </div>
<?php 
}
?>
</div>

4 Cevap

Ben sadece bir tane istiyorum şüpheli zaman her yineleme aracılığıyla döngü üzerinde, iki divs baskı ediyoruz. Bu nasıl yerine hakkında:

foreach ($rpp as $row) {
    if ($row['name'] == 'body') {
        echo '<div id="col1">'
             . '<p>' . $row['content_html'] . '</p>'
             . '</div>';
    } else {
        echo '<div id="col2">'
             . '<p class="testimonial">' . $row['content_html'] . '</p>'
             . '</div>';
    }
}

Sen LIMIT 0, 2 fıkra ile sadece 2 satır dönmek için sorgu sınırı olabilir.

Yoksa döngü içinde basit bir sayaç kullanarak olabilir:

$counter = 0;
foreach ($rpp as $row) {
   if ($counter < 2) {
?>
  <div id="col1">
    <p><?php echo $row['name']=='body' ? $row['content_html'] : NULL; ?></p>
  </div>
  <div id="col2">
    <p class="testimonial"><?php echo $row['name']=='sidebar' ? $row['content_html'] : NULL; ?></p>
  </div>
<?php 
  $counter++;
  }
else
    break;
}

Eğer 2 için sorgu sınırlamak ve eğer sadece vücut çekin ve gülerek olacak sidbar:

SELECT * FROM cms_page_part WHERE page_id=$id AND (name ='body' OR name='sidebar' ) LIMIT 2

I sorunu doğru anlamak, böyle bir şey çalışması gerekir:

<div class="feature-text">
    <?php 
    //Now print the associated cms_page_parts
    $qpp = $conn->query("SELECT * FROM cms_page_part WHERE page_id=$id"); 
    $rpp = $qpp->fetchAll(PDO::FETCH_ASSOC);

    $col1 = "";
    $col2 = "";
    foreach ($rpp as $row) {
        $col1 .= '<p>'.($row['name']=='body' ? $row['content_html'] : NULL).'</p>';
        $col2 .= '<p class="testimonial">'.($row['name']=='sidebar' ? $row['content_html'] : NULL).'</p>';
    }
    ?>
    <div id="col1">
        <?php echo $col1 ?>
    </div>
    <div id="col2">
       <?php echo $col2 ?>
    </div>
</div>