2014-04-02 617 views
0

我得到一個數組在POST有2個字段,並基於第一個字段從mysql表中獲取匹配的數據來顯示,它工作正常,直到這裏。 但數組中的第二個字段可能爲空,我不想在這裏顯示它們是我的代碼。刪除空帖子元素

<p class="yorder"> 
<?php 
    foreach ($_POST as $key => $value) { 
     $exp_key = substr($key, 0, 1); 
     if($exp_key[0] == 'p'){ 
      if($i % 2 != 0){ 
       $tprod = mysql_real_escape_string($value); 
       $sql = "SELECT * FROM menuitem WHERE prodname = '". $tprod ."'"; 
       $result = mysql_query($sql); 
       $row = mysql_fetch_array($result); 
      ?> 
      <span class="o1">&nbsp;</span> 
      <span class="o2"><?php echo $value; ?></span> 
      <?php } if($i % 2 != 0){ $i++; continue;} ?> 
      <span class="o3"><?php echo $value; ?></span> 
      <span class="o4"><?php echo $value * $row['price']; ?></span> 

     <?php $i++;} 
    } 
?> 

</p> 

這裏是我的結果的屏幕截圖 enter image description here 感謝

我的邏輯是:首先我檢查第1個數組項與數據庫並獲取它的值,然後我繼續循環,並獲得第2個數組項目並顯示它。

我現在要做的是:我在開機自檢後得到這個數組 Array([prodname0] => Chicken Sandwich [port-0] => [prodname1] =>烤雞肉三明治[port-1] => 2 [prodname2] => Tanu's Special Chicken Sandwich [port-2] => 2 [prodname3] =>奶酪三明治[port-3] => [prodname4] =>雞肉薩拉米三明治[port-4] => prodname5] =>雞火腿三明治[port-5] => [prodname6] =>雞蛋和Mayoinnaise三明治[port-6] => [prodname7] => Bhetki Fry [port-7] => [prodname8] => Pao Bhaji [port-8] => [prodname9] => Puffs [port-9] => [prodname10] => Chicken Cutlet [port-10] => [prodname11] => Mutton Chop [port-11] => prodname12] =>蛋魔[port-12] => [prodname13] => Paneer Cutlet [port-13] =>)

我可以更改它爲喜歡:雞肉三明治=>烤雞肉三明治=> 2 這會做好我的工作,我認爲

回答

1

簡單的解決辦法來做到這一點:

foreach ($_POST as $key => $value) { 
    if(empty($value){ 
     continue; 
    } 

    // Other code 

} 

首先檢查如果POST值是空的,如果它是,使用continue關鍵字跳過循環中的其餘代碼。替換應用

0

與此

<?php 
     foreach ($_POST as $key => $value) { 
      $exp_key = substr($key, 0, 1); 
      if(!empty($key) || !empty($value)){ //edited portion 
      if($exp_key[0] == 'p'){ 
       if($i % 2 != 0){ 
        $tprod = mysql_real_escape_string($value); 
        $sql = "SELECT * FROM menuitem WHERE prodname = '". $tprod ."'"; 
        $result = mysql_query($sql); 
        $row = mysql_fetch_array($result); 
       ?> 
       <span class="o1">&nbsp;</span> 
       <span class="o2"><?php echo $value; ?></span> 
       <?php } if($i % 2 != 0){ $i++; continue;} ?> 
       <span class="o3"><?php echo $value; ?></span> 
       <span class="o4"><?php echo $value * $row['price']; ?></span> 

      <?php $i++;} 
      } 
     } //edited portion 
    ?> 
+0

你的PHP代碼,但沒有奏效:( – techansaari

+0

@techansaari試試這個更新的代碼 – SagarPPanchal

+0

相同的結果,我的代碼沒有變化 – techansaari