有点难以表达我想做的事情,但让我试一试。
首先,我有一个带表的数据库。我将在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查询的帮助或如何调用它。
提前致谢并花时间阅读本文!
亲切的问候
答案 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
?>
您需要确定的几件事
在ajax中提供适当的文件路径
为您的文字输入提供ID,同样应该是ajax成功
您必须在street.php
答案 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'];
}
现在,我可以通过下拉菜单为每个列中的每个值执行此操作!