0

这个问题并不是关于某些代码出了什么问题。这是关于如何去做某事。这就是为什么没有发布代码的原因。有没有办法根据 HTML 选择框中的选择来运行特定的 MySQL 查询?此处必须使用表格还是有其他方法?

我现在已经添加了代码并尝试使用 switch 语句方式;但是,这两个文本框没有被填充。有任何想法吗?虚线之间的文本实际上并不在代码中,而只是用于问题的占位符。

<?php
---db login info here---

switch($_GET['string'])
{
    case "another string":
       $query = mysql_query("SELECT field1 FROM table1 WHERE id = '1'");
       $row = mysql_fetch_row($query);
       break;
}

echo "<script type='text/javascript'>";
echo "document.getElementById('textbox').value = '$row[0]'";
echo "document.getElementById('textbox2').value = '$row[1]'";
echo "</script>";   
?>
4

2 回答 2

1

是的,有可能。您可以使用表单或 javascript URL 调用或 ajax 来执行此操作。

你需要做什么,根据在选择框中选择的值,你需要在switch case或者if条件下运行sql语句。最好的选择是这类操作的 switch case。

希望这可以帮助。

于 2012-08-22T14:29:04.680 回答
0

有更多方法可以做到这一点

  1. 将 MySQL 放入每个选项的值中(当您不再需要您的数据库时非常有用) <--不要这样做,这非常不安全

    mysql_query($_GET["selectbox"]);
    
  2. 用 MySQL 查询创建一个数组,并将键放在每个选项的值中

    $mysqlqueryarr = array("SELECT banana FROM monkey","UPDATE monkey SET mouth='open'");
    mysql_query($mysqlqueryarr[$_GET["selectbox"]]);
    
  3. 切换执行查询的内容

    switch($_GET['selectbox']){
    case 'monkey':
       mysql_query("SELECT monkey FROM zoo");
       break;
    case 'dog':
       mysql_query("SELECT dog FROM farm");
       break;
    }
    
  4. 制作一个超长 if(){ ... }else if(){ ... }else if(){ 等。查找选择框中的内容并执行 SQL

    if(isset($_GET['selectbox']) && $_GET['selectbox'] == "foood"){
         mysql_query("UPDATE wishlist SET needs = needs");
    } else if(isset($_GET['selectbox']) && $_GET['selectbox'] == "satisfied") {
         mysql_query("UPDATE wishlist SET needs = NULL");
    }
    

这就是我所知道的所有方式,

于 2012-08-22T14:33:27.890 回答