0

好吧,我有这个 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 循环工作正常,但值是问题所在。请帮助并为我的英语不好感到抱歉

4

2 回答 2

2

尝试将值和索引作为参数传递,这是它的工作原理:

$.each(data, function(index, value) {
 alert( value.accion );
});

也可能是数据对象不包含您认为的内容的问题,请执行

console.log(index, value);

在你的循环和一个

console.log(data);

在循环之前,您将看到您拥有什么以及如何处理它。

希望能帮助到你!

于 2013-11-11T20:13:50.623 回答
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它已弃用。

于 2013-11-11T20:23:03.997 回答