0

我想拥有一个选择选项时运行PHP数据库查询的选择列表。我有代码:

<select>
  <option value="available">Available</option>
  <option value="sold">Sold</option>
</select>
<input type="submit" name="change status">

比如说,当用户选择“已售出”时,我想运行:

<?php 
  db_query("UPDATE {product_stock} SET stock='0' WHERE nid='$value'");  
?>

我试过了

<option value="sold" <?php db_query("UPDATE {product_stock} SET stock='0' WHERE nid='$value'");  ?> >Sold</option>

但似乎不起作用。我不知道我是否应该使用

<form method="GET">...</form>

我知道我可以ajax以某种方式使用,但我真的不熟悉它。任何想法如何做到这一点?谢谢

4

4 回答 4

3

你必须使用javascript!否则,您必须在表单提交后更新您的数据库。

使用javascript 库 jquery 的一种可能方法是:

$("select").change(function() {
   $.post("/your/url", {option: $(this).val()}, function(return) {
      //echo result if necessary
   }
});

在服务器端,您应该在您之后检查$_POST['option']并更新您的数据库

逃脱

变量“选项”的内容。

于 2013-06-18T10:39:48.500 回答
0

当组合框发生更改时,您必须使用 jquery 或纯 JavaScript 发送 AJAX 调用。根据新值,您可以发送各种参数并调用您的 PHP 脚本。

但是您尝试过的 HTML 和 PHP 之间的交互永远不会奏效。当您在浏览器中看到组合框时,您的 PHP 命令已经执行。

于 2013-06-18T10:39:59.580 回答
0

我的网站是建立在 drupal 之上的,所以我创建了一个自定义模块并使用了 hook_form_alter,这样我就可以只使用 PHP 而不需要在 ajax 中编写代码。

于 2013-06-27T10:41:54.120 回答
0

好吧,您将必须创建两个文件,一个带有表单,第二个带有动作本身,第一个将具有类似的内容。

<form method="POST" action="ActionFile.php">
    <input type="text"  name="name" id="name" value="">
    <input type="submit" value="find name">
</form>

并创建一个名为 ActionFile.php 的文件,该文件将包含变量以及与数据库和选择的连接。

于 2019-10-25T00:50:04.993 回答