mysql更新表单在第一次尝试时没有执行但在第二次尝试时工作

时间:2014-11-30 19:35:43

标签: mysql pdo

我正在尝试使用表单执行查询并在同一页面上更新该查询,但问题是我必须提交表单两次以更新它。这段代码是从我上一个mysql项目移植而来的。我的上一个项目是搜索然后查询然后更新。这个是查询然后更新。我无法理解为什么表单在第一次点击时不会变量。还在学习PDO。请指出正确的方向。谢谢。

 require_once ('control/control.php');

 $db = db_connect ();

 $stmt = $db->query("SELECT * FROM offsite_inventory WHERE category != '' ORDER BY FIELD(category,'Sparkling Wine','Rose Wine','Riesling Magnum 1.5L','Riesling Magnum 3L','Austrian Riesling','Austrian Gruner','Trocken','Kabinett','Spatlese','Auslese','Chardonnay USA','Chardonnay France','Chablis','White Wine 1','White Wine 2','Pinot Noir 2','Pinot Noir 1','Cabernet And Bordeau','Red Wine 1','Red Wine 2','Red Wine 3','Red Wine 4','Rhone Valley Red')");

 while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

 echo "<tr><td width=\”50\">" . $row['code'] . "</td>   
      <td width=\"380\">" . $row['name'] . "</td>
      <td width=\"50\" align=\"center\">" . $row['instock_resto'] . "</td>
      <td width=\"50\" align=\"center\">" . $row['instock_home'] . "</td>

      <td width=\"100\"><form style='display:inline!important; width:10px!important;' name='inventory' method='post' action='" . $PHP_SELF . "?id=" . $row['id'] . "&instock_home=" . $row['instock_home'] . "&name=" . $row['name'] . "'>
      <table width='1' border='0' align='center' style='margin-right:auto; margin-left:auto;'>
      <tr>
      <td valign='middle'>
      <label><input style='display:inline!important; width:25px!important;' type='number' name='instock_home'/></label></td>
      <td>
      <input style='display:inline!important; width:100px!important; padding:3px 0px;' type='submit' name='instock_home2' value='update stock' /></td></tr></table>
      </form>";   

 echo "</td></tr>"; 

}

require_once ('control/control.php');

$conn = db_connect ();

$instock_home = $_POST['instock_home'];
$id = $_GET['id'];
$name = $_GET['name'];


$stmt2= $conn->prepare("UPDATE offsite_inventory SET instock_home = ? WHERE id = ?");
$stmt2->execute(array($instock_home, $id));

echo"</table>";

0 个答案:

没有答案