2017-06-01 122 views
0

如何从数据库中获取完全相同的“id”值(也就是我的HTML表格),并将其输入到表单提交值中?表格输入类型等于动态表格结果

这是我曾经做过迄今为止:
我已经产生了两件事情,工作正常:

  1. 从数据库表生成从三列的结果的HTML表格
  2. 一“卖” 提交按钮到每一行

IMAGE OF THE TABLE

正如你可以在下面的代码中看到的。所以每当我推“卖出”按钮“ID”的值被固定为3的值,1个单位被添加到产品的量列编号为3

问题:
我真正想要的是根据特定行的值来动态变化。
如果我在“ID 1”的行上推“sell”,那么我想将“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

你可以通过在产品与函数,然后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(); 
} 
+0

我按照你的建议尝试过,但生成的值是空的。 – Swift123

+0

我知道它的工作。之前为空值的原因是我错过了askForSell(id)中的“id”。非常感谢您的帮助! – Swift123

0

您可以提交根据无JS按下按钮变量:

<button type="submit" name="id" value="1">Sell</button> 

此外,按钮可以包含formaction属性。