2016-12-16 9 views
3
public function showcarts($email){ 
    $sql = 'SELECT * FROM users WHERE email = :email'; 
    $query0 = $this -> conn -> prepare($sql); 
    $query0 -> execute(array(':email' => $email)); 
    $data = $query0 -> fetchObject(); 
    $p_cart= $data -> p_cart; 
    $p_cart = preg_replace('/\.$/', '', $p_cart); //Remove dot at end if exists 
    $array = explode(',', $p_cart); //split string into array seperated by ', ' 
    $projects=array(); 
    foreach($array as $p_id) //loop over values 
    { 
     $sql = 'SELECT * FROM products WHERE p_id = :p_id'; 
     $query = $this -> conn -> prepare($sql); 
     $query -> execute(array(':p_id' => $p_id)); 
     if($query){ 
      while($products = $query -> fetchAll(PDO::FETCH_OBJ)) 
      { 
       array_push($projects,$products); 
      } 
     }   
    } 
    return $projects; 
} 

enter image description here取り外し余分[] PHP

によってJSONを送信するすべての反復後に添加されるこの関数は、を必要に応じてオブジェクトを返すが、すべての反復後[]を添加します。私はが余分な[]を削除して私のモーダルオブジェクトに合うようにします。これを行う方法はありますか?

+0

使用すると、代わりに '' fetchAll'のfetch'。またはwhileを削除します。 –

+0

カンマ区切りの値をデータベースに保存していますか? – e4c5

+0

ありがとうございました.. –

答えて

1

fetchAllそれはwhileを使用するように冗長ですので、すぐにすべて行をフェッチ:

if($query){ 
    $projects = $query -> fetchAll(PDO::FETCH_OBJ); 
} 
関連する問題