Я пытаюсь заполнить поле выбора из значений из базы данных mysql, используя jQuery.
db call:
<?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>
По<select id="a1_title"> <option>Default</option> </select>
Есть множество примеров, которые я нашел, но ничего конкретно не связано с тем, что я ищу, если только сила не со мной сегодня.
Есть ли связь, на которую меня могут навестить?
Следующий скрипт загрузит выпадающий список из 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.
// retrieve value and text from ajax var html = "<option value=\""+value+"\">"+text+"</option>"; $("#a1_title").append(html);
У меня такая же проблема, ваше предложение – это работа
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>
По<!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);