【发布时间】:2017-11-03 03:24:15
【问题描述】:
我如何获得完全相同的“id”值,它从数据库进入我的 HTML 表,也输入到表单提交值中?
这是我迄今为止所做的:
我已经生成了两件可以正常工作的东西:
- 从数据库表的三列生成结果的 html 表
- 每行都有一个“出售”提交按钮
您可以在下面的代码中看到。 “id”的值固定为 3。所以每当我按下“Sell”按钮时,id 为 3 的产品的数量列中会增加 1 个单位。
问题:
我真正想要的是根据特定行使值动态变化。
如果我在“ID 1”的行上按“sell”,那么我希望将“1”作为值动态添加到表单中。
如果我在“ID 2”的行上按“sell”,那么我希望将“2”作为值动态添加到表单中......等等。
<html>
<body>
<form id="sellAndBuy" method="POST">
<input type="hidden" name="qty" value="1">
<input type="hidden" name="id" value="3">
<?php
echo "<table style='border: solid 2px black; text-align:left;'>";
echo "<tr><th>Product</th><th>Stock</th><th>ID</th></tr>";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "name";
echo "<td>";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT product_name, product_quantity, product_id FROM product ");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
foreach ($result as $v) {
echo "<td style='width:150px;border:1px solid black;'>";
echo "</td>";
echo '<tr>';
echo '<td>' .$v->product_name. "</td>";
echo '<td>' . $v->product_quantity. "</td>";
echo '<td>' . $v->product_id. "</td>";
echo '<td> <button type="submit" onclick="askForSell()"> Sell </button> </td>
<td> <button type="submit" onclick="askForBuy()"> Buy </button> </td>';
echo '</tr>';
}
echo "</td>";
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
<br>
<br>
<br>
</form>
<script>
form=document.getElementById("sellAndBuy");
function askForSell() {
form.action="sellAndBuy.php";
form.submit();
}
function askForBuy() {
form.action="buyProducts.php";
form.submit();
}
</script>
</body>
</html>
【问题讨论】:
标签: php forms dynamic html-table