如何从选择列表中选择一个选项来运行php?

时间:2013-06-18 10:34:38

标签: php html

我希望有一个选择列表,在选择一个选项时运行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 个答案:

答案 0 :(得分:2)

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

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

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

在服务器端,您应检查$_POST['option']并在

之后更新数据库
  

ESCAPED

变量“option”的内容。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我的网站是在drupal上构建的,所以我创建了一个自定义模块并使用了hook_form_alter,因此我可以使用PHP而不需要在ajax中编码。

答案 3 :(得分:0)

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

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

并创建一个名为ActionFile.php的文件,其中将包含变量以及与DB和select的连接。