我有一个包含。
的php文件<?php
$con=mysqli_connect("localhost", "user", "password", "stock");
if (mysqli_connect_errno()){
echo "failed to connect:" mysqli_connect_error();
}
$grabCars = mysqli_query($con, "SELECT * FROM CARS");
while ($row = mysqli_fetch_array($grabCars)){
$name = $row["Name"];
$color = $row["Color"];
$link = $row["Link"];
};
echo json_encode($name);
?>
好的,有人能告诉我这个代码是否有问题。关于如何显示这些数据的任何想法。
我还可以在另一端提供一些帮助我可以使用什么样的jquery来读取这些数据以及它看起来如何,我对网页设计很新,并且不太了解jquery或者如何ajax命令会处理这些信息。
编辑:
当前的Jquery脚本
$.ajax({
url: "test.php"'
type: "post",
data: data,
datatype: "json",
success: function(result){
console.log(result["$name"]);
},
error: function(){
alert("error");
}
});
这是我在控制台中显示一些信息的代码,但我什么都没收到,我在控制台中得到了一个数据未定义的消息。真的可以帮忙。对json和jquery以及整个php和webdesign都很新。感谢。
答案 0 :(得分:0)
首先,while循环后不应该有;
。
$sampleArray = array();
while ($row = mysqli_fetch_array($grabCars)){
$name = $row["Name"];
$color = $row["Color"];
$link = $row["Link"];
array_push($sampleArray, array('name'=> $name, 'color' => $color, 'link'=>$link));
}
echo json_encode($sampleArray);
在你的JQUERY / Javascript中,类似这样,在AJAX成功中:
response( $.map( data, function( item ) {
return {
name: item.name,
color: item.color,
link: item.link
}
}));
答案 1 :(得分:0)
json_encode如果你想编码多个值,你需要将它们放在一个数组中,取一个值参数
您的代码有一个示例
<?php
$con=mysqli_connect("localhost", "user", "password", "stock");
if (mysqli_connect_errno()){
echo "failed to connect:" mysqli_connect_error();
}
$grabCars = mysqli_query($con, "SELECT * FROM CARS");
$result = array();
$i = 0;
while ($row = mysqli_fetch_array($grabCars)){
$result[$i]['name'] = $row["Name"];
$result[$i]['color'] = $row["Color"];
$result[$i]['link'] = $row["Link"];
$i++;
}
echo json_encode($result);
?>