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

时间:2015-08-04 12:46:27

标签: php html mysql phpmyadmin

有点难以表达我想做的事情,但让我试一试。

首先,我有一个带表的数据库。我将在HTML中的选择下拉菜单中显示该表中的一列,更准确地说:这将在dropbown菜单中输出列'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(下拉菜单中填充了数据库中的列名)

2)test2保存为$ name

中的变量

3)选择查询搜索街道列的值,其中$ name = test2

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

所以我希望街道上的teststreet2能够在文本框中输出

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

我需要有关select查询的帮助或如何调用它。

提前致谢并花时间阅读本文!

亲切的问候

2 个答案:

答案 0 :(得分:0)

您无法按原样更改任何已加载的下拉列表或文本的状态。

你必须在这里使用jQuery / Ajax。

当您选择Dropdown值时,它将触发Ajax / jQuery并调用另一个运行select查询的页面并返回值,您可以使用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

  4. 中连接数据库

答案 1 :(得分:0)

找到它!:

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'];
}

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