将每个值传递给php脚本


Passing for each values to php script

我在每个循环中传递一个表数据值给php脚本。这里的问题是,当我尝试echo $exchange;。我没有得到任何特定产品名称的值。表单中显示的产品名称为item1。

<form action="exchangeItem" method="post">    
 <tbody>
                    <?php
                      $query = "SELECT * FROM product";
                      $data = $MySQLi_CON->query($query);
                      foreach ($data as $key ) {              
                    ?>
                    <tr>                            
                      <td class="id"><h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
                      </td>
                    <input name = "id" type = "hidden" value="<?php echo $id; ?>">
                    <td id="exchange_button">
                          <input value="Exchange" name="exchange_submit" type="submit" class="btn btn-primary btn-md raised exchange_submit">
                      </td>
                    </tr>
                    <?php
                      }
                      ?>                     
    </tbody>
</form>
<标题> exchangeItem.php h1> div class="answers">

This

<td class="id"><h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
应:

<td class="id"><h3><input type="hidden" name="productName" value="<?php echo $key['product_Name'];?>" ></h3>

首先,编辑你的 td

<td class="id"><h3><input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>" ></h3>

your name => productName应该在数组中,这就是为什么你需要括号[],因为你使用foreach。然后你的文章也会在数组中。

exchangeItem.php

<?php
    print_r($_POST['productName']);
    exit;
?>

我已经添加了&更改了您的2个输入名称productName[], id[]和您的表单动作exchangeItem.php,如果您获得产品名称必须使用输入名称与数组,如[],因为您使用foreach循环。

<form action="exchangeItem.php" method="post">    
    <tbody>
    <?php
        $query = "SELECT * FROM product";
        $data = $MySQLi_CON->query($query);
        foreach ($data as $key ) {              
            ?>
            <tr>                            
                <td class="id">
                    <h3><input type="hidden" value="<?php echo $key['product_Name'];?>" name="productName[]" ><?php echo $key['product_Name'];?></h3>
                    <input name="id[]" type="hidden" value="<?php echo $id; ?>">
                </td>
            </tr>
            <?php
        }
    ?>                     
    </tbody>
    <tfoot>
          <tr>                            
             <td id="exchange_button">
                <input value="Exchange" name="exchange_submit" type="submit" class="btn btn-primary btn-md raised exchange_submit">
             </td>
         </tr>
    </tfoot>
</form>

exchangeItem.php

<?php
    if(isset($_POST['exchange_submit'])) {
       $exchange = $_POST['productName'];
       foreach($exchange as $product_name) {
           echo $product_name;
       }
    }
?>

您在这里面临的问题是使用这段代码

    <td class="id">
        <h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
    </td>

在这里的输入字段中,您没有添加值,这就是为什么当您试图在操作文件中打印张贴值时,它没有显示任何值。因此只需在输入字段

中添加add value
    <td class="id">
        <h3><input type="hidden" name="productName" value="<?php echo $key['product_Name'];?>"></h3>
    </td>

设置隐藏元素的值…不需要在header标签中放置隐藏元素。使用productName[]发送数组值

<td class="id">
    <h3><?php echo $key['product_Name'];?></h3>
    <input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>">
</td>

foreach所有的输出值。

<?php
    $exchange = $_POST['productName'];
    foreach($exchange as $key) {
        echo $key;
    }
    exit;
?>

更新select

改变你的html选择值…

<td class="id">
    <h3><input type="checkbox" name="productName[]" value="<?php echo $key['product_Name'];?>"><?php echo $key['product_Name'];?></h3>
</td>