За последние 24 часа нас посетили 55205 программистов и 1777 роботов. Сейчас ищут 902 программиста ...

Не передает из массива данные

Тема в разделе "PHP для новичков", создана пользователем bogdan_titomir, 11 июл 2018.

  1. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    В функции нужно вытащить данные из таблицы далее эти данные передать в другой вызов к таблице и вытащить данные оттуда но массив не выводит ячейки.

    PHP:
    1.    
    2.   public function getOptions
    3. {
    4. $res = $core->db->sql("
    5.      SELECT _@object_insubcats.objectId, _@objects_cats.*, _@objects_keywords.expirationOn, _@objects_keywords.days    
    6.      FROM _@object_insubcats
    7.      LEFT JOIN _@objects_cats ON (_@objects_cats.id=_@object_insubcats.subCatId)
    8.      LEFT JOIN _@objects_keywords ON (_@object_insubcats.objectId=_@objects_keywords.objectId AND  _@object_insubcats.subCatId=_@objects_keywords.catId AND _@objects_keywords.sort=0)
    9.      WHERE _@object_insubcats.objectId IN (SELECT id FROM _@objects WHERE userId='".core::$user['id']."')    
    10.    ");
    11.  
    12.     $cats = array();
    13.     while ($get = mysql_fetch_assoc($res))
    14.     {
    15.         $get['num'] = $prInCats[$get['id']];
    16.         $get['days'] = $queueDays[$get['id']];
    17.         $cats = $get;
    18.     }
    19.  
    20. $res = $core->db->sql("SELECT id, name FROM _@params WHERE cityId='".$cats['cityId']."' AND catId='".$cats['parentId']."' AND 'type'='service'", 'ARRAYS');
    21.  
    22.     $params = array();
    23.         while ($get = mysql_fetch_assoc($res))
    24.     {
    25.         $params = $get;
    26.     }
    27. }
    Здесь идет запрос к категориям далее функция массив возвращает в шаблон вывода.

    Если посмотреть то массив выглядит так:
    [cats] => Array
    (
    [objectId] => 6947
    [id] => 1188
    [cityId] => 1
    [parentId] => 54
    [fileName] => 1188-lifti
    [name] => Лифты
    [title] =>
    [amount] => 0
    [sort] => 46
    [sortByAlph] => 1
    [sortByDate] => 1
    [sortByRating] => 1
    [sortByReviews] => 1
    [allowComments] => 1
    [allowRating] => 1
    [expirationOn] =>
    [days] =>
    [num] => 2

    Из этого массива мне нужно 2 ячейки cityId и parentId я их беру и передаю в другой вызов к базе

    PHP:
    1. $res = $core->db->sql("SELECT id, name FROM _@params WHERE cityId='".$cats['cityId']."' AND catId='".$cats['parentId']."' AND 'type'='service'", 'ARRAYS');
    и здесь почему то те переменные cats['cityId'] и cats['parentId'] не работают хотя я прогнал их циклом в чем причина?

    И уже в конце функции идет return, а в самом шаблоне эти переменные норм выводятся но в теле функции нет. Можно ли так вообще делать?

    Камрады подсобите, заранее спасибо!
     
  2. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Поменял немного код и вывел та запись которая была нужна но нет цикла почему так?

    PHP:
    1. $res = $core->db->sql("SELECT id, name FROM _@params WHERE cityId='".$cats['cityId']."' AND catId='".$cats['parentId']."'");
    Надо лучше доку читать блин....
     
  3. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Проблема решена, вывод не умею работать с массивами.