删除空帖子元素

时间:2014-04-02 12:44:16

标签: php post

我在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 感谢

我的逻辑是:首先我用数据库检查第一个数组项并获取它的值,然后我继续循环并得到第二个数组项并显示它。

我现在要做的是:我在POST中获取此数组 数组([prodname0] =&gt;鸡肉三明治[port-0] =&gt; [prodname1] =&gt;烤鸡三明治[port-1] =&gt; 2 [prodname2] =&gt; Tanu's特制鸡肉三明治[port-2] =&gt; 2 [prodname3] =&gt;奶酪三明治[port-3] =&gt; [prodname4] =&gt;鸡肉香肠三明治[port-4] =&gt; [prodname5] =&gt;鸡肉火腿三明治[port-5] =&gt; [prodname6] =&gt;蛋和Mayoinnaise三明治[port-6] =&gt; [prodname7] =&gt; Bhetki Fry [port-7] =&gt; [prodname8] =&gt; Pao Bhaji [port-8] =&gt; [prodname9] =&gt; Puffs [port-9] =&gt; [prodname10] =&gt; Chicken Cutlet [port-10] =&gt; [prodname11] =&gt;羊肉Chop [端口] -11] =&gt; [prodname12] =&gt;蛋恶[port-12] =&gt; [prodname13] =&gt; Paneer Cutlet [port-13] =&gt;)

我可以将其更改为:Chicken Sandwich =&gt;烤鸡三明治=&gt; 2 这将完成我的工作我认为

2 个答案:

答案 0 :(得分:1)

一个简单的解决方案就是:

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

    // Other code

}

首先检查POST值是否为空,如果是,请使用continue关键字跳过循环中的其余代码。

答案 1 :(得分:0)

用这个

替换你的php代码
<?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
    ?>
相关问题