gpt4 book ai didi

php - 从 mysql 输出数据到数组 json 让我抓狂

转载 作者:行者123 更新时间:2023-11-30 22:44:32 25 4
gpt4 key购买 nike

我正在尝试以这种 json 格式拉出一个菜单:检查输出:http://www.alacarta.do/iphone/webservices/restaurants_menu2.php?r=415

问题是类别板 block 的迭代,它复制板 block ,然后在每个类别中添加相应的正确板 block 。每时每刻。检查链接中的输出。第一类是分享。并且盘子没问题,但是第二类 FRIES BAR 会再次从 TO SHARE 中抛出盘子,然后是其类别中的正确盘子

<?

$where = empty($_GET['r'])? NULL : 'id = '. intval($_GET['r']);
$restaurant = $cmp->empresas($where,"nombre ASC")->fetch();
$json = array();
$arraynombre = array();

while($orden = $cmp->platos_tipos_orden("id_empresa = {$restaurant->id}","orden ASC")->foreachrow()):

$tipo = $cmp->platos_tipos("id = {$orden->id_tipo}")->fetch();

while($menu = $cmp->platos_menu("id_tipo = {$orden->id_tipo} AND id_empresa = {$orden->id_empresa}")->foreachrow()):
$p = $cmp->platos_lista("id = {$menu->id_plato}")->fetch();
$pnombre = $p->nombre;
$pid = $p->id;
$pprecio = $p->precio;
$arraynombre1 = array('plato_id'=>$pid,'plato_nombre'=>$pnombre,'precio'=>$pprecio);

if (in_array($arraynombre1['plato_id'], $arraynombre['plato_id'])) continue;

$arraynombre[] = $arraynombre1;

endwhile;


$jsondata = array('tipo'=> utf8_decode($tipo->nombre),'platos' => $arraynombre);
$json[] = $jsondata;
endwhile;


echo json_encode( array("menu"=>$json));

?>

最佳答案

你的问题可能是这一行 -

$arraynombre[] = $arraynombre1;

当你不断地添加到数组中时,不要覆盖之前的循环值。

尝试向其中添加一个对每个循环都是唯一的键,即。 $orden->id_tipo -

$arraynombre[$orden->id_tipo][] = $arraynombre1;

那么你还需要改变

$jsondata = array('tipo'=> utf8_decode($tipo->nombre),'platos' => $arraynombre);

$jsondata = array('tipo'=> utf8_decode($tipo->nombre),'platos' => $arraynombre[$orden->id_tipo]);

注意 - 很难遵循所有代码逻辑,因此 [$orden->id_tipo] 可能需要是 [$orden->id_empresa] 或者可以是一个类似的计数器 var [$x],你在每个循环中增加它。

关于php - 从 mysql 输出数据到数组 json 让我抓狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30016052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com