【发布时间】:2014-11-18 03:36:36
【问题描述】:
我有一个点击时的 JQuery,它向 MySql 发送一个 php 查询,然后我想在 JQuery 上一一发送数据。
但我只知道如何将结果从 php 发送回整个 JQuery。
我当前的 JQuery:
$(function() {
$(".img_thumb_holder").on("click", function() {
$.ajax({
type: "POST",
url: "CMS/PHP/retrieveAuthorDetails.php",
success: function(data) {
alert(data);
}
});
});
});
我当前的 php:
<?php
include 'dbAuthen.php';
$sql = "SELECT * FROM users WHERE Name = 'james'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo $row['UserID'];;
echo $row['EmailAddr'];
}
?>
输出都是 UserID 和 EmailAddr,我不知道如何只显示 UserID 或 EmailAddr
我尝试了 alert(data[0]),但它只显示了结果的一个字母..关于如何做到这一点的任何想法?
更新:在肖恩的帮助下,我得到了当前更新的代码
jquery:
$(function() {
$(".img_thumb_holder").on("click", function() {
$.ajax({
type: "POST",
dataType: "json",
url: "CMS/PHP/retrieveAuthorDetails.php",
success: function(data) {
$.each(data, function() {
var userid = data.userid;
var useremail = data.email;
// i think there something wrong with this as it will keep repeating storing the userid and email for each data.. can someone verify?
});
}
});
});
});
PHP
<?php
include 'dbAuthen.php';
$sql = "SELECT * FROM users WHERE Name = 'honwenhonwen'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
$arr = array(
"userid" => "HonWen",
"email" => "honwen@hotmail.com"
);
}
echo json_encode($arr);
?>
【问题讨论】:
-
使用
json_encode()并回显。 Jquery 会将其作为对象接收。 -
为什么不把你的结果保存在php中作为一个数组,然后
json_ecode()这个数组,然后在你的$.ajax()成功中你可以循环遍历每个数组。 -
@sean 我实际上是新手,你能给我看一个简单的例子吗?我现在也去谷歌看看。
标签: javascript php jquery mysql