2012-01-08 2 views
0

У меня есть этот код:значения группы по идентификатору

function get_posts_tags($db, $start, $number_of_posts) { 
    //query 
    "); 

    $sql -> bind_param('ii',$start, $number_of_posts); 
    $sql -> execute(); 
    $sql -> bind_result($id_offer, $tag); 

    $posts_tags = array(); 
    while ($sql -> fetch()) { 
     $posts_tags[] = array('id_offer'=>$id_offer, 'tag'=>$tag); 
    }; 

    $sql->close(); 

    var_dump($posts_tags); 
} 

выход:

array 
    0 => 
    array 
     'id_offer' => int 77 
     'tag' => string 'PHP' (length=3) 
    1 => 
    array 
     'id_offer' => int 77 
     'tag' => string 'JAVA' (length=4) 
    2 => 
    array 
     'id_offer' => int 76 
     'tag' => string 'PHP' (length=3) 
    3 => 
    array 
     'id_offer' => int 76 
     'tag' => string 'JAVA' (length=4) 

Что я хочу группу тегов по идентификатору в массиве $posts_tags[]. Как я могу это сделать ? На данный момент у меня есть простой вывод БД.

что-то вроде:

array 
     0 => 
     array 
      'id_offer' => int 77 
      'tag0' => string 'PHP' (length=3) 
      'tag1' => string 'JAVA' (length=4) 
     1 => 
     array 
      'id_offer' => int 76 
      'tag0' => string 'PHP' (length=3) 
      'tag1' => string 'JAVA' (length=4) 

...

Благодаря

+2

Кусок кода потерялся, я не могу видеть текст запроса. –

ответ

1

Would что-то нравится эта работа для вас?

array 
    0 => 
     array 
      'id_offer' => int 77 
      'tags'  => array 
       0 => string 'PHP' (length=3) 
       1 => string 'JAVA' (length=4) 
    1 => 
     array 
      'id_offer' => int 76 
      'tags'  => array 
       0 => string 'PHP' (length=3) 
       1 => string 'JAVA' (length=4) 

Это может быть достигнуто следующим образом:

while ($sql -> fetch()) { 
    $post_tags[$id_offer]['id_offer'] = $id_offer; 
    $post_tags[$id_offer]['tags'][] = $tag; 
}; 

// Reset the array keys with array_values() or array_merge() 
$post_tags = array_values($post_tags); 
+0

спасибо, отлично работает Ayman! – Daniel

Смежные вопросы