嗨,大家好,我有一个新手问题.. 我有一个具有默认值的组合框。 当我点击组合框。显示数据库中的所有数据...... 我还没有任何代码 给我一些例子
提前谢谢..
答案 0 :(得分:0)
为了解释我的答案,我将使用一个演示数据库,从数据库中选择一些ID和名称的任意值。 这里的代码应该足以让你入门,但我建议如下:
尽管如此,我来这里是为了帮助,所以这里有一些基本的代码,有一个很好的解释:
首先,您需要在HTML中更改元素。为此,我使用了#mydropdown
,#displayArea
将用于显示数据。
然后,在Javascript中(记得包含jQuery)你将使用jQuery的ajax函数(如果你愿意,可以没有它,jQuery只是简单易事)来调用PHP脚本来加载数据为了你。当PHP脚本返回它的数据(JSON编码)时,在javascript中对其进行解码并输出(或执行您需要的任何其他操作)。
在PHP中,这里的示例脚本只是从$ POST获得一个可用于过滤数据库查询或其他内容的变量。请注意,在示例中,使用了mysql *扩展名。如果你有时间,而是看看PDO(mysql_ *是oooold)。 数据库查询在PHP中完成后,它将被JSON编码并发送回javascript并显示。
我现在只是在下面输入这个代码所以它可能无法正常工作,但它不应该做太多的调整。如果您在跟上此示例时遇到严重问题,我强烈建议您在尝试执行此操作之前先获得更强的PHP和JavaScript技能。
HTML:
<select id="mydropdown" onchange="loadData();">
<option value="a">Some Option</option>
<option value="b">Another Option</option>
</select>
<div id="displayArea">
</div>
Javascript :(首先将jQuery包含在您的脚本中)
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
function loadData()
{
$.ajax(
{
url:"load_data.php",
type:"POST",
data:{selectedOption:$("#mydropdown").val()}
})
.done(function(data)
{
var returnData=$.parseJSON(data);
//do something with the data that was returned
$.each(returnData, function(k, v)
{
//work with a single item in the array of returned data
$("#displayArea").append(v.name);
});
})
.fail(function()
{
alert("Something went horribly wrong while trying to get your data! I think the internet is broken");
});
}
</script>
PHP:load_data.php
<?php
//get the selected option that was sent in jQuery's ajax call. This can be used to filter your query
$selectedOption = $_POST['selectedOption'];
//connect to mysql and select a db
$conn=mysql_connect('host', 'user', 'password') or die(mysql_error());
mysql_select_db('mydb', $conn) or die(mysql_error());
//select data from the db
$query="SELECT id, name FROM people";
$result=mysql_query($query, $conn) or die(mysql_error());
//create an array to contain people selected from your DB.
$people = array();
while ($resultsArray=mysql_fetch_array($result))
{
array_push($people, array("id"=>$resultsArray['id'], "name"=>$resultsArray['name']));
}
echo json_encode($people);
?>