ユーザーは、俳優リストから俳優をクリックする必要があります。既存の映画のタイトルが削除され、選択した俳優に関する映画のタイトルのみが表示されます。Jsonがリストボックスの「未定義」値を取得する
私の "dvdtitle"リストボックスは、アクタが選択された後、 "Undefined"のリストを受け取ります。しかし、私はjson_encode
の応答データを$('#actor').text(data)
と確認して、それを正しいものにしました。
[{"503":"Caught In The Crossfire"},
{"690":"Dead Man Running"},
{"1064":"Get Rich Or Die Trying"},
{"1145":"Gun"},{"1254":"Home of The Brave"},
{"2184":"Righteous Kill"},
{"2519":"Streets Of Blood"},
{"3273":"Twelve"}]
私は何が間違っているのか分かりません。
//getactors.php
include("includes/connection.php");
$q = $_POST['input'];
$final_array = array();
$resultActor = mysql_query("SELECT id, title, plot, catagory, release_date, rated FROM dvd WHERE actors LIKE '%".$q."%' ");
while($rowActor = mysql_fetch_array($resultActor)) {
$final_array [] = array($rowActor['id'] => $rowActor['title']);
}
echo json_encode($final_array);
// JavaScript Document
$('#actorsname').click(function(){
var actorValue = $('#actorsname option:selected').text();
$.ajax({
type: "POST",
url: 'getactors.php',
data: {input: actorValue},
cache: false,
datatype: "json",
success: function(data) {
$('#dvdtitle option').each(function(i, option) {
$(option).remove(); // Empty DVD Listbox
});
$('#actor').text(data); // to visualy check my json Data
$.each(data, function(i, j) {
var row = "<option value=\"" + i.value + "\">" + j.text + "</option>";
$(row).appendTo("select#dvdtitle");
});
}
});
});
あなたのクエリは[SQLインジェクション](http://en.wikipedia.org/wiki/SQL_injection)に対して脆弱です。 – paislee
現在の要素のインデックスであるiのプロパティ 'value'をオブジェクトに要求していません – Dalen
@Dalen、どうすればpaisleeに助けになるのか説明する準備をしてください。 – mowwwalker