如何从数据库中获取与我的HTML表格完全相同的“id”值,并将其输入到表单提交值中?
这就是我所做的事情:
我已经生成了两件可行的方法:
正如您在下面的代码中看到的那样。 “id”的值固定为3的值。因此,每当我按下“Sell”按钮时,将1个单位添加到ID为3的产品的数量列中。
问题:
我真正想要的是根据特定行的值是动态的。
如果我在“ID 1”的行上按“卖”,那么我希望将“1”作为值动态添加到表单中。
如果我在“ID 2”的行上按“卖”,那么我希望将“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>
答案 0 :(得分:0)
您可以使用函数传递产品ID,然后将其填充到输入字段中,如:
...
echo '<td> <button type="submit" onclick="askForSell('.$v->product_id.')"> Sell </button> </td>
<td> <button type="submit" onclick="askForBuy('.$v->product_id.')"> Buy </button> </td>';
...
function askForSell(id) {
form.action="sellAndBuy.php";
form['id'].value = id;
form.submit();
}
function askForBuy(id) {
form.action="buyProducts.php";
form['id'].value = id;
form.submit();
}
答案 1 :(得分:0)
您可以根据没有JS按下的按钮提交变量:
<button type="submit" name="id" value="1">Sell</button>
此外,按钮可以包含formaction
属性。