将内部数据存储在javascript数组中

时间:2017-05-26 02:48:11

标签: javascript jquery mysql

所以我有这个问题:

    select * from `sitios` INNER JOIN `imagens` ON sitios.id_sitio = imagens.id_sitio where sitios.id_sitio='1'
while ($row=mysqli_fetch_object($q)){
      $data[]=$row;
    }

    if($q)
      echo json_encode(array('status' => true, 'data' => $data));
    else
      echo json_encode(array('status' => false, 'data' => $data));

结果以json编码,因为即时通讯使用带有framework7的phonegap,我只能使用json。

此查询将返回以下内容:

http://i.imgur.com/FkEbKJu.jpg

正如您所看到的,它会返回有关" sitio"的信息。 id为1,但返回3" nome_imagem"有不同的信息。这是因为这个地方"与3相关的图像。

这是我收到查询数据的ajax帖子:

success: function(data) {
                    data = JSON.parse(data);
                    if (data['status']) {
                         $.each(data['data'], function(i, field) {
                            var id = field.id_sitio;
                            var nome = field.nome;
                            var descricao = field.descricao;
                            var img = field.img;
                            var morada = field.morada;
                            var email = field.email;
                            var telefone = field.telefone;
                            var facebook = field.facebook;
                            var website = field.website;
                            var coordenada_x = field.coordenada_x;
                            var coordenada_y = field.coordenada_y;
                            var imagens = field.nome_imagem;
                            console.log(imagens);

问题是,var"图像"只包含1个nome_imagem。我如何将所有信息存储在我所拥有的变量上,但是将所有信息存储在所有" nome_imagem"来自查询的字段?

提前致谢

1 个答案:

答案 0 :(得分:1)

This answer提供了一个如何从对象数组中提取数据并生成另一个值数组的示例。基本上,将数据['data']发送到$ .map()函数,并仅返回nome_imagem值。像这样:

var imagens = $.map(data['data'], function(o) {
    return o.nome_imagem;
})