首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除空的post元素

删除空的post元素
EN

Stack Overflow用户
提问于 2014-04-02 20:44:16
回答 2查看 91关注 0票数 0

我在POST中得到了一个有2个字段的数组,基于第一个字段从mysql表中获取匹配的数据来显示,它在这里工作得很好。但是数组中的第二个字段可能是空的,我不想显示它们,这是我的代码。

代码语言:javascript
复制
<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>

这是我的结果的屏幕截图

谢谢

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

我现在尝试做的是:我正在POST数组中获得这个数组( prodname0 =>鸡肉三明治端口-0 => prodname1 =>烤鸡三明治端口-1 => 2 prodname2 => Tanu的特制鸡肉三明治端口-2 => 2 prodname3 =>鸡肉三明治端口-3 => prodname4 =>鸡肉沙拉米三明治端口-4 => prodname5 =>鸡肉火腿三明治端口-5 => prodname6鸡蛋和蛋黄酱三明治端口-6 Bhetki薯条端口-7 Pao port-8 Puff port-9鸡排端口-10 Mutton Chop端口-11 => prodname12 =>鸡蛋恶魔端口-12 => prodname13 => Paneer Cutlet端口-13 => )

我能把它改成:鸡肉三明治=>烤鸡肉三明治=> 2我想这能胜任我的工作。

EN

回答 2

Stack Overflow用户

发布于 2014-04-02 20:47:05

一个简单的解决方案是这样做:

代码语言:javascript
复制
foreach ($_POST as $key => $value) {
    if(empty($value){
        continue;
    }

    // Other code

}

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

票数 1
EN

Stack Overflow用户

发布于 2014-04-02 20:52:17

用以下代码替换您的php代码

代码语言:javascript
复制
<?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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22811913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档