1
我需要一個PHP數組,用於存儲來自MySQL的數據並在以後的JQuery中使用。 從MySQL表提交後從PHP表格讀取PHP數組的格式
student_id class_id score
001 01 A
001 02 B
002 02 A
在JQuery的樣本數據,我想訪問這些數據作爲data.student_id [I] .class_id [I] .score 如何可以構造PHP數組?
我在view_student.php當前代碼(可以選擇多於一個student_id數據,類標識碼)
$student_id = $_POST['student_id'];
$class_id= $_POST['class_id'];
$student_array = array();
for($j=0;$j<sizeof($student_id);$j++) {
$query = "SELECT class_id, score FROM student";
$query .= " WHERE student_id='".$student_id[$j]."'";
for($i=0;$i<sizeof($class_id);$i++){
if($i==0) {
$query .= " AND class_id=".$class_id[$i];
} else {
$query .= " OR class_id=".$class_id[$i];
}
}
if($student_sql=$connection->query($query)){
$student_php = array();
$student_row_php = array();
while($student_row_sql=$student_sql->fetch_array(MYSQLI_ASSOC)){
$student_row_php["student_id"]=$sale_row_sql['student_id'];
$student_row_php["score"]=$sale_row_sql['score'];
array_push($student_php, $student_row_php);
}
}
$student_array[$student_id[$j]]=$student_php;
}
echo json_encode($student_array);
在JavaScript中,我需要data.student_id [0] .class_id [0] .score代替數據。 001 [0] .score
<script>
$(document).ready(function() {
$('form').submit(function(event) {
event.preventDefault();/
var postForm = new FormData(this);
$.ajax({
type : 'POST',
url : 'view_student.php',
data : postForm,
processData: false,
contentType: false,
dataType : 'json',
success : function(data) {
$('#score').html('<font color="#FFFFFF"> <strong>'+data.001[0].score+'</strong> </font>');
}
});
});
});
'data.student_id [0] .class_id [0] .score' - 這並沒有什麼意義。爲什麼不'data [0] .student_id','data [0] .class_id','data [0] .score'? – wavemode 2014-10-01 03:57:31
我真的很喜歡你的想法來訪問每個屬性。但是,我想知道如何獲得每個班級的學生成績。如果我們使用數據[0] .score,我們只能爲每個學生訪問一個分數。如果我錯了,請糾正我。非常感謝@wavemode。 – nguyen 2014-10-01 04:30:57
我想我們可以使用數據[student_id] [class_id] .score訪問每個班級的學生成績。再次感謝@wavemode。 – nguyen 2014-10-01 05:01:53