我将每个循环中的表数据值传递给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>
<?php
$exchange = $_POST['productName'];
echo $exchange;
exit;
?>
答案 0 :(得分:1)
此
<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>
答案 1 :(得分:0)
为隐藏元素设置值...无需将隐藏元素放在标题标记中。使用productName[]
发布值数组。
<td class="id">
<h3><?php echo $key['product_Name'];?></h3>
<input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>">
</td>
预先发布所有已发布的值。
<?php
$exchange = $_POST['productName'];
foreach($exchange as $key) {
echo $key;
}
exit;
?>
选择
的更新更改你的html选择值..
<td class="id">
<h3><input type="checkbox" name="productName[]" value="<?php echo $key['product_Name'];?>"><?php echo $key['product_Name'];?></h3>
</td>
答案 2 :(得分:0)
首先,修改 td
<td class="id"><h3><input type="hidden" name="productName[]" value="<?php echo $key['product_Name'];?>" ></h3>
你的名字=&gt; productName应该在数组中,这就是为什么你需要括号 [] ,因为你使用foreach。然后你的帖子也会在数组中。
<强> exchangeItem.php 强>
<?php
print_r($_POST['productName']);
exit;
?>
答案 3 :(得分:0)
我添加了&amp;更改了您的2个输入名称productName[]
,id[]
和表单操作exchangeItem.php
如果获得产品名称,则必须使用输入名称和[]
之类的数组,因为您使用了{{1}循环。
foreach
exchangeItem.php
<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>
答案 4 :(得分:0)
您面临的问题是此代码
<td class="id">
<h3><input type="hidden" name="productName" ><?php echo $key['product_Name'];?></h3>
</td>
在输入字段中,您没有添加值,这就是为什么当您尝试在动作文件中打印已发布的值时,它没有显示任何值。所以只需在输入字段中添加附加值
<td class="id">
<h3><input type="hidden" name="productName" value="<?php echo $key['product_Name'];?>"></h3>
</td>