表达我想要做什么有点困难,但让我试一试。
首先,我有一个带有表的数据库。我将在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
(下拉菜单中填充了来自数据库的列名)
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
?>
你需要确定的几件事是
给出ajax中文件的适当路径
给你的文本输入id,同样应该在ajax成功
您必须在
street.php
中连接数据库