За последние 24 часа нас посетили 84556 программистов и 3023 робота. Сейчас ищут 1359 программистов ...

Не могу собрать правильный массив

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 15 мар 2017.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Вобщем нужно собрать массив такого типа
    PHP:
    1. (
    2.     [105] => Array
    3.         (
    4.             [option] => Array
    5.                 (
    6.                     [1] => Зеленый
    7.                     [2] => крассный
    8.                 )
    9.  
    10.         )
    11.  
    12. )
    сейчас вот так вот выходит
    PHP:
    1. (
    2.     [105] => Array
    3.         (
    4.             [option] => Array
    5.                 (
    6.                     [1] => Зеленый
    7.                 )
    8.  
    9.         )
    10.  
    11. )
    код вот

    PHP:
    1. $i = 0;
    2.     foreach ($mas_prod as $val){
    3.  
    4.         $select_option = mysql_query("SELECT * FROM oc_product_option_value WHERE product_id = ".$val['product_id']."");
    5.         $result_option = mysql_fetch_array($select_option);
    6.         if($result_option){
    7.             do{
    8.                 $select_option_value = mysql_query("SELECT * FROM oc_option_value_description WHERE option_value_id = ".$result_option['option_value_id']."");
    9.                 $result_option_value = mysql_fetch_array($select_option_value);
    10.              
    11.                  
    12.                         do{
    13.                             $mas_option[$val['product_id']] = array(
    14.                                 "option" => array(
    15.                                     $i => $result_option_value['name'],
    16.                                 )
    17.                             );
    18.                             $i++;
    19.                         }while($result_option_value = mysql_fetch_array($select_option_value));
    20.                  
    21.              
    22.             }while($result_option = mysql_fetch_array($select_option));
    23.         }
    24.     }
    Помогите пожалуйста.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    1. do while не катит при разборке ответа бд!!!!!1 это важно

    2. нумерация обязательно с единицы? обычно с нуля и писать проще с нуля.

    PHP:
    1. do{
    2.   $mas_option[$val['product_id']]['option'][] = $result_option_value['name'];
    и всё
     
  3. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    супер спасибо. А почему do while не катит. Просто я когда использую while то он читает со второго элемента использую его так

    PHP:
    1. while($result_option_value = mysql_fetch_array($select_option_value)){
    2.  
    3. }
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    До цикла уберите mysql_fetch_array, тогда будет с первого.
     
    denis01 нравится это.
  5. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    ааа. Все большое спасибо.
     
  6. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Слушайте а как дописать еще одно значение в массив пробую так вот
    PHP:
    1. $mas_option[$val['product_id']]['id'][]=$val['product_id'],['option'][] = $result_option_value['name'];
    не получается
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    посмотри документацию по массивам, чтобы знать как ими пользоваться
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @Dron-Boy, у тебя там запятая, которой не должно быть.
     
    denis01 нравится это.
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Там вообще странное написано