我有这个PHP获取mysql的值。 我在这个查询中得到两行。
include('../funciones/funciones.php');
$link=Conectarse();
$pnc=$_GET['pnc'];
$query="SELECT
accion_inmediata.accion,
accion_inmediata.responsable,
accion_inmediata.peligro,
accion_inmediata.ambiente,
DATE_FORMAT(accion_inmediata.fecha,'%m-%d-%Y') as fechaAccion
FROM
accion_inmediata
WHERE
accion_inmediata.id_pnc = '$pnc'";
$result = mysql_query($query,$link);
$array = mysql_fetch_array($result);
echo json_encode($array);
这是我的Jquery代码
function traerAcciones(pnc){
$.ajax({
url: 'php_ajax/select_acciones.php?pnc='+pnc,
data: "",
dataType: 'json',
success: function(data)
{
$.each(data, function() {
alert(this.accion);
});
}
});
}
当我执行此代码时,警报显示“未定义”。 $ .each循环工作正常,但值是问题。 请帮助,抱歉我的英语不好
答案 0 :(得分:1)
尝试传递值和索引作为参数,这是它的工作原理:
$.each(data, function(index, value) {
alert( value.accion );
});
也可能是数据对象不包含您认为的操作的问题,请执行
console.log(index, value);
在你的循环中和
console.log(data);
在循环之前,您将看到您拥有的内容以及如何处理它。
希望它有所帮助!
答案 1 :(得分:0)
目前,您只返回第一行的数组。因此要检索两者,您可能希望这样做:
include('../funciones/funciones.php');
$link=Conectarse();
$pnc=$_GET['pnc'];
$query="SELECT accion_inmediata.accion, accion_inmediata.responsable, accion_inmediata.peligro, accion_inmediata.ambiente, DATE_FORMAT(accion_inmediata.fecha,'%m-%d-%Y') as fechaAccion FROM accion_inmediata WHERE accion_inmediata.id_pnc = '$pnc'";
$result = mysql_query($query,$link);
$array = array();
while($row = mysql_fetch_array()):
$array[] = $row;
endwhile;
echo json_encode($array);
现在你的jquery应该能够检索数据了。另外,请避免使用MYSQL_QUERY
弃用。