Tüm döngüler değerini kontrol

2 Cevap php

Ben ve sonuçlar bir tablo yankıları PHP bu döngü var,

<table cellspacing="0" cellpadding="3">
  <tr>
    <td><b>Content Image Title</b></td>
    <td><b>Content Image Type</b></td>
    <td><b>Headline Image</b></td>
    <td><b>Content Image Belongs To</b></td>
    <td><b>Date Created</b></td>
    <!--<td><b>Uploaded By</b></td>-->

  </tr>
  <?php $colours = array("#f9f9f9", "#f3f3f3"); $count = 0;?>
  <?php foreach ($allContentImages as $contentImages) : ?>
    <tr bgcolor="<?php echo $colours[$count++ % count($colours)];?>">
      <td><?php echo "<a href='#' class='screenshot' rel='/media/uploads/$contentImages[categoryId]/$contentImages[contentImageName]'>".$contentImages['contentImageName']; ?></td>
      <td><?php echo $contentImages['contentImageType']; ?></td>
      <td><?php if($contentImages['isHeadlineImage'] == 1){ echo "Y";}else{echo "N";} ?></td>
      <td><?php echo $contentImages['contentTitle'] ?></td>
      <td><?php echo date("d-m-Y", $contentImages['contentImageDateUploaded']); ?></td>
      <td align="left"><a class="delete" href="<?php echo base_url();?>dashboard/deleteContentImage/<?php echo $contentImages['contentImageId'];?>"><img src="/media/images/icons/cancel.png" alt="Delete A Category"/></a></td>
    </tr>
  <?php
    if($contentImages['isHeadlineImage'] == '0') {
        echo "<tr bgcolor='red'>";
        echo "<td><p>You need to assign a headline image</p></td>";
        echo "</tr>";

  ?>
  <?php endforeach; ?>
</table>

Ben başlık görüntü olduğunu, aynı başlıkla her içerik parça için kontrol etmeniz gerekir, ve sonra kırmızı bir yeni satır echo değilse ... ama olsun tüm olmayan bir görüntü var, her zaman yeni bir satır bir başlık görüntü. Herkes bana yardımcı olabilir misiniz? Ben td en değerlerini maç için yardımcı olur javascript kullanarak umursamıyorum? Ama açıkçası benim girişimi doğru değil.

2 Cevap

foreach döngü gelecekteki içeriği hakkında bilmiyorum çünkü ne yapmak istiyorum, önceden hesaplanmış olması gerekir gibi geliyor.

Belki foreach deyimi daha önce böyle bir şey:

$contentHasHeadlineImage = array();
foreach ($allContentImages as $contentImages) {
  if ( $contentImages['isHeadlineImage'] == 1)
    $contentHasHeadlineImage[ $contentImages['contentTitle'] ] = true;
}

Ve daha sonra da kullanabilirsiniz

if (array_key_exists($contentImages['contentTitle'], $contentHasHeadlineImage)) {
  // Has headline image... 
}

Belirli bir başlık bir başlık varsa doğrulamak için.

Aşağıda benim kodu deneyin:

<table cellspacing="0" cellpadding="3">
  <tr>
    <td><b>Content Image Title</b></td>
    <td><b>Content Image Type</b></td>
    <td><b>Headline Image</b></td>
    <td><b>Content Image Belongs To</b></td>
    <td><b>Date Created</b></td>
    <td>Action</td>
  </tr>
  <?php
  $colours = array("#f9f9f9", "#f3f3f3");
  $num_colours = count($colours);
  $i = 0;
  ?>
  <?php foreach ($allContentImages as $row) : ?>
    <tr bgcolor="<?php echo $colours[($i++) % $num_colours]; ?>">
      <td><a href="#" class="screenshot"
             rel="/media/uploads/<?php echo $row['categoryId']; ?>/<?php echo $row['contentImageName']; ?>">
        <?php echo $row['contentImageName']; ?>
      </a></td>
      <td><?php echo $row['contentImageType']; ?></td>
      <td><?php echo $row['isHeadlineImage'] == 1 ? "Y" : "N"; ?></td>
      <td><?php echo $row['contentTitle']; ?></td>
      <td><?php echo date("d-m-Y", $row['contentImageDateUploaded']); ?></td>
      <td align="left"><a class="delete"
                          href="<?php echo base_url(); ?>dashboard/deleteContentImage/<?php echo $row['contentImageId'];?>">
        <img src="/media/images/icons/cancel.png" alt="Delete A Category" />
      </a></td>
    </tr>
    <?php if ( $row['isHeadlineImage'] == 0 ): ?>
      <tr bgcolor="red">
        <td colspan="6"><p>You need to assign a headline image</p></td>
      </tr>
    <?php endif; ?>
  <?php endforeach; ?>
</table>

Kodunuzu toplama ederken, ben ilk sütunda bir kapanmamış a href bulundu. Ekstra özel satır için, ben eklemek colspan. Ben sadece 1 veya 0 (tamsayı veya boolean) $row['isHeadlineImage'] değeri var sayıyorum.

Ben de alıntı kullanmadan size erişim dizi anahtarına öğrendim. Bu gelecekte olası hata olabilir.

Blok veya php değişken hızlı hata buldum yardımcı olacaktır yankılanan zaman düzenli girinti ve tutarlı kod yazın. Ayrıca, sahip olmak istediğiniz gibi sayfa yapısı olup olmadığını görmek için firefox kundakçı veya Safari ve Google Chrome Web Inspector kullanarak tarayıcısında sonucu incelemek, tüm etiket dengeli ve doğru yerde kapalıdır.