我的目标是使用getiideas .php从数据库中获得相关行,然后在displayideas.php上,我实际上可以将它们分开(例如获得最高分的想法,显示想法得分,在一个span内的代码的特定html部分显示想法)。
在getideas.php中,我有以下内容:
$sql = "SELECT evals.idea_score, evals.ideas_idea_id, ideas.idea
FROM evals, ideas
WHERE evals.ideas_idea_id = ideas.idea_id
AND evals.users_eval_id = '$eval_id'";
$result = mysql_query($sql);
$data = array();
while($row = mysql_fetch_assoc($result)){
$data[] = $row["idea_score"];
array_push($data, $row["ideas_idea_id"], $row["idea"]);
}
return $data;
在displayideas.php中,我有以下内容:
$.ajax({type: "POST",
url: "getideas.php",
data: { eval_id: eval_id },
success: function(response){
console.log(response);
}
})
我不确定是否一定需要一个数组。我是新的PHP/MySQL。我一直在网上搜索这个问题的答案,但找不到一个地方,只是把它放在一起,以一种我能理解的方式来解决我的问题。在这一点上,我觉得我已经在这上面花了太多的时间,是时候寻求帮助了!
在使用javascript之前,你需要对数组进行json编码
所以使用
return json_encode($data);
参考:http://in3.php.net/manual/en/function.json-encode.php
希望这对你有帮助。Getideas.php将变成如下所示:
$sql = "SELECT evals.idea_score, evals.ideas_idea_id, ideas.idea
FROM evals, ideas
WHERE evals.ideas_idea_id = ideas.idea_id
AND evals.users_eval_id = '". mysql_real_escape_string($_POST['eval_id'])."'";
$result = mysql_query($sql);
$data = array();
while($row = mysql_fetch_assoc($result)){
$data[] = $row["idea_score"];
array_push($data, $row["ideas_idea_id"], $row["idea"]);
}
$post = json_encode($data);
echo $post;
displayideas.php ,
$.ajax({type: "POST",
url: "getideas.php",
dataType: "json",
data: { eval_id: eval_id },
success: function(response){
console.log(response);//you can access data from here by response[0].attributename.ie,response[1].idea_score.
}});