1

I need to save some data's in php. I am trying this code

$click_free = [];
$ano = 0;
while($res_qry = mysql_fetch_array($sel_qry)){
    $arr_cnt = sizeof($click_free);
    if($arr_cnt != 0){
        $m = 0;
        for($k=0;$k<$arr_cnt;$k++)
        {

            if($click_free[$k][0] == $res_qry['Free_id'])
            {
                $click_free[$k][0] = ($click_free[$k][0]+$res_qry['Qty']);
                $m=1;
            }
        }if($m==0){
            $click_free[$arr_cnt] = [1,];
        }
    }else{
        $click_free[0] = [$res_qry['Free_id'],$res_qry['Qty']];
    }
}

But this code has many error. Please help me solve this

LF00
  • 27,015
  • 29
  • 156
  • 295
Madhan
  • 53
  • 9

2 Answers2

1
while($res_qry = mysql_fetch_array($sel_qry)){
     $id_existed = false;

    if(!empty($click_free))
        foreach($click_free as $key=>$ligne)
             if( $ligne[0] == $res_qry['Free_id']){
                  $qty = $ligne[1] + $res_qry['Qty'];
                  $click_free[$key] = [ $ligne[0] ,  $qty ];
                  $id_existed =true;
             }


    if(!$id_existed){
        $click_free[] = [ $res_qry['Free_id'] , $res_qry['Qty'] ];
    }
}
Fahmi B.
  • 758
  • 2
  • 10
  • 23
0

Finally we got a solution

    while($res_qry = mysql_fetch_array($sel_qry)){
    $arr_cnt = sizeof($click_free);
    if($arr_cnt != 0){
        $m = 0;

        foreach ($click_free as $k => $v) {
          if ($v['Free_id']==$res_qry['Free_id']) {
            S_qty=$v['Qty']+$res_qry['Qty'];
            $click_free[$k]['Qty']=$S_qty;
            $m=1;
          }
        }

        if($m==0){
            $click_free[] = array("Free_id" => $res_qry['Free_id'],"Qty"=>$res_qry['Qty']);
        }
    }else{
            $click_free[] = array("Free_id" => $res_qry['Free_id'],"Qty"=>$res_qry['Qty']);
        }
}

Thanks to bfahmi, Kris Roofe, B. Desai , user3542450, dr_debug

Madhan
  • 53
  • 9