Заполните поле выбора из базы данных, используя jQuery
Я пытаюсь заполнить поле выбора из значений из базы данных MySQL, используя jQuery.
дб звонок:
<?php
include 'db.php';
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$tableName = "tbl_title";
$result = mysql_query("SELECT * FROM $tableName");
$data = array();
while ( $row = mysql_fetch_row($result) )
{
$data[] = $row;
}
//echo json_encode( $data );
?>
HTML:
<select id="a1_title">
<option>Default</option>
</select>
Я нашел кучу примеров, но они не имеют ничего общего с тем, что я ищу, если только сила не со мной сегодня.
Есть ли ссылка, на которую кто-то может указать мне?
3 ответа
Приведенный ниже скрипт загрузит выпадающий список из JSON, полученного со страницы PHP.
$(function(){
var items="";
$.getJSON("yourPHPPage.php",function(data){
$.each(data,function(index,item)
{
items+="<option value='"+item.ID+"'>"+item.Name+"</option>";
});
$("#a1_title").html(items);
});
});
Предполагая, что получил JSON
в этом формате
[ { "ID" :"1", "Name":"Scott"},{ "ID":"2", "Name":"Jon"} ]
Еще одна вещь, которую я заметил, это то, что вы делаете SELECT * FROM имя таблицы, чтобы получить элементы. Я не думаю, что вы должны это делать. Вы должны сделать только два столбца (ID & NAME, если у вас есть эти столбцы в вашей таблице.).
Вот пример JSFiddle, чтобы показать, как извлечь данные из JSON.
У меня та же проблема, ваше предложение работает
HTML & JS
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
$(function(){
var items="";
$.getJSON("get-data.php",function(data){
$.each(data,function(index,item)
{
items+="<option value='"+item.id+"'>"+item.name+"</option>";
});
$("#a1_title").html(items);
});
});
</script>
<select id="a1_title">
<option>Default</option>
</select>
</body>
</html>
PHP
include 'configurations/db-connections.php';
$q = "select id, name from college";
$sql = mysql_query($q);
$data = array();
while($row = mysql_fetch_array($sql, true)){
$data[] = $row;
};
echo json_encode($data);
// retrieve value and text from ajax
var html = "<option value=\""+value+"\">"+text+"</option>";
$("#a1_title").append(html);