HTML/PHP从下拉菜单中选择一个值,检索相关的行,并从该行输出所有数据


HTML/PHP selecting a value from dropdown menu and retrieving the associated row and output all the data from that row

表达我想要做什么有点困难,但让我试一试。

首先,我有一个带有表的数据库。我将在HTML中的选择下拉菜单中显示该表中的一列,更准确地说:这将在下拉菜单中输出列'name':

<?php
$query = mysql_query("SELECT name from table");
echo "<select name='select1'>";
while ($row = mysql_fetch_array($query))
{
echo "<option value'" . $row['name'] ."'>" . $row['name] . "</option>;
}
echo "</select>";
?>

当在下拉菜单中选择一个值时,该值需要保存在一个变量中。

if (isset($_POST['button']))
{
$select = $_POST['select1'];
}

作为最后一位,变量$select中的值需要用于SELECT查询。我想在SELECT语句中使用该变量来查找与下拉菜单中的值相关的相应行(在同一表中),并选择一列并将该值输出到文本框或复选框,这取决于需要输出的值。

例子:

      id - name - street - number - ...
row 1: 0 - test1 - teststreet1 - 1 - ...
row 2: 1 - test2 - teststreet2 - 2 - ...
row 3: 2 - test3 - tesstreett3 - 3 - ...

1)我从下拉菜单中选择test2(下拉菜单中填充了来自数据库的列名)

test2被保存为$name 中的一个变量

$name = test2
SELECT street from table where ?
row 2: 1 - test2 - tesstreett2 - 2 - ...

我想让teststreet2 from street输出到一个文本框

<input type='text' value='?'>

我需要帮助选择查询或如何调用这个。

提前感谢花时间阅读这篇文章!

亲切的问候

找到了!:

if(isset($_POST['select1']))
{
$select = $_POST['select1'];
$street_select = mysql_query("SELECT street FROM table WHERE name = '" .&select. "'");
$street = mysql_fetch_array($street_select);
$resul_street = $street['street'];
}

现在我可以对通过下拉菜单询问的每列中的每个值执行此操作!

你不能改变任何加载的下拉菜单或文本的状态。

这里必须使用jQuery/Ajax。

当你选择下拉菜单值时,它将触发Ajax/jQuery并调用另一个页面,你的选择查询将运行并返回值,你可以使用jQuery在文本框中显示。

<select name = 'select1' onchange='return get_street()'>
<option name='test1'>test1</option>
<input type="text" name ="street" id="street" value="" />
<script> 
    function get_street()
    {
       var selected_val = $('option:selected', this).val();
       $.ajax({  //ajax call
        type: "POST",      //method == POST 
        url: "street.php", //url to be called
        data: "name="+selected_val, //data to be send 
        success: function(data){
               $('#street').val(data); // here we will set a value of text box
           }
        });
    } 
 </script>

那么street.php看起来就像

<?php
  $name = $_POST['name'];
  $res = mysql_query("select street from table where name = '".$name."'");
  $row = mysql_fetch_assoc($res);
  return $row['street']; // this will return a name of street
?>

你需要确定的几件事是

  1. 给出ajax中文件的适当路径

  2. 给你的文本输入id,同样应该在ajax成功

  3. 您必须在street.php中连接数据库