2013-05-30 6 views
0

Я извлекаю массив из запроса mysql, подобного этому.Заполненные заполненные поля массива SQL PHP

$viewerSQL = mysql_query("SELECT * FROM `this` WHERE id = ". 
mysql_real_escape_string($_GET[id]) .""); 
$pageData = mysql_fetch_array($pageSql); 

Я получаю массив с 40 записями, я хочу проверить семь из них по имени, если они заполнены.

Что i've опробованы и что я об этом до сих пор:

$oioi = 0; 

          while($oioi<7){ 
          $oioi++; 
          $pic = "pic".$oioi; 
          $active=""; 
          $path = "./upload/objectoffers/$viewerData[id]/$pic"; 
          $picDesc = "pic".$oi."Desc"; 
          $picArray = '$viewerData['.$pic.']'; 
          echo $pic."<br>"; 
          echo $picArray."<p>"; 
          if(!empty($path)){ 
          if($oioi==1){$active = "active";}?> 
          <div class="item <?=$active;?>"> 
           <img style="width: 100%;" src="./images/<?=$viewerData[$pic];?>" alt="<?=$viewerData[$picDesc]?>"> 
          </div> 
          <? 
          }} 
          ?> 

Но эта работа, потому что это не распространяется: $path никогда не пустует ... Я хотел бы избежать писать «if(!empty)» для каждого одиночный $viewerData[pic1] в $viewerData[pic7] массив ручной ...

вот почему я здесь ...

может быть, вы можете мне помочь улучшению этого или предложить несколько советов.

Спасибо!

редактировать: Это то, что я получаю, как "выход":

pic1 
$viewerData[pic1] 

pic2 
$viewerData[pic2] 

pic3 
$viewerData[pic3] 

pic4 
$viewerData[pic4] 

pic5 
$viewerData[pic5] 

pic6 
$viewerData[pic6] 

pic7 
$viewerData[pic7] 
+0

Пожалуйста, не используйте 'mysql_ *' функций больше. Они больше не поддерживаются и [** устарели от PHP 5.5.0 **] (https://wiki.php.net/rfc/mysql_deprecation). Вместо этого используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/mysqli) и узнайте о [_prepared statements_] (http://en.wikipedia.org/ вики/Prepared_statement). [Эта статья] (http://php.net/manual/en/mysqlinfo.api.choosing.php) может помочь вам решить, какой MySQL API использовать. – PLPeeters

ответ

1

Я думаю, вы должны использовать file_exists вместо пустой:

$oioi = 0; 

while ($oioi < 7) { 
    $oioi++; 
    $pic = "pic" . $oioi; 
    $active = ""; 
    $path = "./upload/objectoffers/$viewerData[id]/$pic"; 
    $picDesc = "pic" . $oi . "Desc"; 
    $picArray = '$viewerData[' . $pic . ']'; 

    echo $pic . "<br>"; 
    echo $picArray . "<p>"; 

    if (file_exists($path)) { 
     if ($oioi == 1) { 
      $active = "active"; 
     } 
     ?> 
     <div class="item <?= $active; ?>"> 
      <img style="width: 100%;" src="./images/<?= $viewerData[$pic]; ?>" alt="<?= $viewerData[$picDesc] ?>"> 
     </div> 
    <?php 
    } 
} 
+0

ouh почему я не думал об этом ... спасибо! Это должно делать свое дело! Это похоже на 10 раз легче, так как все, что я получил в своей голове ... спасибо! Изменить: я буду отмечать как можно лучше! –

Смежные вопросы