doupo2633 2014-01-25 23:56
浏览 65
已采纳

有没有办法通过foreach语句传递变量/ $ _POST?

Hey, I'm getting my feet wet with PHP, and was wondering if it was possible if I could put $id = $row['id']; through a $_POST statement,then getting each $_POST variable, and then printing them through a foreach.

Thanks in advance!

order.php:

            foreach ($rows as $row) {
            $food = $row["food"];
            $price = $row["price"];
            $picture = $row["picture"];
            $id = $row['id'];
            echo "<tr>
                    <td><img src='$picture' width='120px' /></td>
                    <td>$food</td>
                    <td>$$price</td>
                    <td><input type='number' min='0' max='10' placeholder='#' name='$id' maxlength='1'></td>
                </tr>";
        }

action.php:

            foreach ($rows as $row){
              $food = $row['food'];
              $price = $row['price'];
              $id = $row['id'];

              if(isset($_POST[$id])){
                $qty = $_POST[$id];
                echo 'set';
                echo $qty;
              }else{
                  echo 'unset';
                  $qty = '';

              }
              echo "<tr>
            <td>$food</td>
            <td>$qty</td>
            <td>$price</td>
        </tr>";      
        }
  • 写回答

1条回答 默认 最新

  • 普通网友 2014-01-26 00:08
    关注

    Change your echo to this:

    echo "<tr>
           <td><img src='$picture' width='120px' /></td>
           <td>$food</td>
           <td>$$price</td>
           <td><input type='number' min='0' max='10' placeholder='#' name='qty[".$id."]' maxlength='1'></td>
          </tr>";
    

    Then in your action.php:

    foreach ($rows as $row){
              $food = $row['food'];
              $price = $row['price'];
              $id = $row['id'];
    
              if(isset($_POST['qty'][$id])){
                $qty = $_POST['qty'][$id];
                echo 'set';
                echo $qty;
              }else{
                  echo 'unset';
                  $qty = '';
    
              }
              echo "<tr>
            <td>$food</td>
            <td>$qty</td>
            <td>$price</td>
        </tr>";      
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?