javascript - 将来自innerjoin的数据存储在javascript数组上

标签 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 进行编码,因为我将 PhoneGap 与 Framework7 一起使用,并且我只能使用 json。

此查询将返回:

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

如您所见,它返回有关 id 为 1 的“sitio”的信息,但返回 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“imagens”仅包含 1 个 nome_imagem。我如何存储像我这样的变量的所有信息,但将来自查询的所有“nome_imagem”字段存储在数组上?

提前致谢

最佳答案

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

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

关于javascript - 将来自innerjoin的数据存储在javascript数组上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44192809/

相关文章:

php - 当异步为真时,jQuery如何发出ajax请求 "synchronous"

javascript - jQuery计算价格不起作用(正确)

php - 从两列中计算最多的记录

mysql - alter table 添加列后日期时间值不正确

javascript - 如何迭代 firebase get 的结果

javascript - jsplumb 创建弯曲连接

javascript - 如何从 Iframe 打开新标签页?

mysql - 如果值在组中最高,则将列更新为 1,否则更新为 0

Javascript:分配具有独特随机属性的新对象

Javascript 变量 a = 函数 b() {}