dsv38843
2015-05-03 16:05
浏览 341
已采纳

从mysql输出数据到数组json让我发疯

im trying to pull out a menu in this json format : check the output : http://www.alacarta.do/iphone/webservices/restaurants_menu2.php?r=415

The thing is that iterating of the Category plates, it duplicates the plates and then add the corresponding correct ones in each Category. all the time. check the output in the link. first category is TO SHARE. and the plates are ok, but the second category FRIES BAR, will throw again the plates from TO SHARE and then the correct plates in its category

<?

$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));

?>

图片转代码服务由CSDN问答提供 功能建议

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

事情是迭代分类板,它复制板,然后在每个类别中添加相应的正确的板。 每时每刻。 检查链接中的输出。 第一类是TO SHARE。 并且板块没问题,但是第二类FRIES BAR将再次从TO SHARE抛出板块,然后在其类别中抛出正确的板块</ p>

 &lt;?
 
  $ where = empty($ _ GET ['r'])?  NULL:'id ='。  INTVAL($ _ GET [ 'R']);  
 $ restaurant = $ cmp-&gt; empresas($ where,“nombre ASC”) - &gt; fetch(); 
 $ json = array(); 
 $ arraynombre = array(); 
 
 while  ($ orden = $ cmp-&gt; platos_tipos_orden(“id_empresa = {$ restaurant-&gt; id}”,“orden ASC”) - &gt; foreachrow()):
 
 $ tipo = $ cmp-&gt; platos_tipos  (“id = {$ orden-&gt; id_tipo}”) - &gt; fetch(); 
 
 while($ menu = $ cmp-&gt; platos_menu(“id_tipo = {$ orden-&gt; id_tipo} AND id_empresa  = {$ orden-&gt; id_empresa}“) - &gt; foreachrow()):
 $ p = $ cmp-&gt; platos_lista(”id = {$ menu-&gt; id_plato}“) - &gt; fetch()  ; 
 $ pnombre = $ p-&gt; nombre;  
 $ pid = $ p-&gt; id; 
 $ pprecio = $ p-&gt; precio; 
 $ arraynombre1 = array('plato_id'=&gt; $ pid,'plato_nombre'=&gt; $ pnombre,'  precio'=&gt; $ pprecio); 
 
 if(in_array($ arraynombre1 ['plato_id'],$ arraynombre ['plato_id']))继续; 
 
 $ arraynombre [] = $ arraynombre1; 
  
endwhile; 
 
 
 $ jsondata = array('tipo'=&gt; utf8_decode($ tipo-&gt; nombre),'platos'=&gt; $ arraynombre); 
 $ json [] = $ jsondata;  
endwhile; 
 
 
 echo json_encode(array(“menu”=&gt; $ json)); 
 
?&gt; 
 </ code> </ pre> 
 </ div>

1条回答 默认 最新

相关推荐 更多相似问题