• Как структурировать данные категорий при парсинге?

    @rapidum_alder
    Решение Неандертальца::

    $arr = [
        '/category0/subcat1/subcat2',
        '/category0/subcat1/subcat4',
        '/category0/subcat5/subcat6',
        '/category2/subcat7/subcat8',
        '/category2/subcat9/subcat10',
        '/category2/subcat11/subcat12',
    ];
    
    $t = [];
    foreach ($arr as $item) {
        $s = explode('/', $item);
        $i = $s[1];
        unset ($s[1], $s[0]);
        if (!$t[$i] ){
            $t[$i] = [];
        }
        foreach ($s as $item){
            array_push ( $t[$i],$item);
        }
    }
    foreach ($t as &$item){
        $item = array_unique($item);
    }
    echo('<pre>');
    var_dump($t);
    var_dump(json_encode($t));
    echo('<pre>');
    Ответ написан
    Комментировать
  • Как сформировать массив со списками для правильного вывода в таблицу html?

    @rapidum_alder
    А ты решила в каком виде будет финальный массив?
    А так можно просто $arr1['Name']['Deals']['NameDeals']['target']['NameTarget']['notes']['id'] += $arr2['NameDeals']['target']['NameTarget']['notes']['id']
    Если конечно там нет динамики, то тогда думать надо.
    Ответ написан
  • Почему не работает форма обратной связи?

    @rapidum_alder
    Посмотри что у тебя в console в dev tools.
    Там может быть ошибка.
    И посмотри у тех ли ты добавил класс _req.
    Добавь ещё html код для полноты картины
    Ответ написан
    4 комментария
  • Как удалить строки с условием в RedBean?

    @rapidum_alder Автор вопроса
    Нашел решение, на самое изящное, но работает.

    R::trashAll(R::find($table, "timestamp < ?",  [$time]));


    Не изящно потому, что тут 2 запроса в sql (если не больше, не анализировал)
    Если кто, подскажет лучше без использования R::exec, буду рад.
    Ответ написан
    Комментировать
  • Как использовать find RedBean?

    @rapidum_alder
    Мне кажется тут лишние действия.
    $infor = R::find('info', 'server = ? AND name = ?', [$server, $name]);

    Этим ты уже находишь нужные строки,
    программа думает что ты нашел группу строк, поэтому выражение
    $infor->id выдаст ошибку.

    Используй $infor = R::getAll('SELECT `id` FROM `info` WHERE `server` = ? AND `name` = ?' > ?', [$server, $name])
    Если нужен массив с id элементов, который устраивает поиску.

    Если использовать твой код, то вот список всех id
    $infor = R::find('info', 'server = ? AND name = ?', [$server, $name]);
    foreach ($infor as $info ){
                        var_dump($info ->id);
                    }

    Внутри цикла делаешь что надо, там уже всё есть.

    Если надо и ты уверен что строка одна используй R::findOne
    $info = R::findOne('info', 'server = ? AND name = ?', [$server, $name]);
    var_dump($infr ->id);


    Но я не знаю какой конечный результат ожидается.
    Ответ написан
    Комментировать
  • Как получить фото пользователя?

    @rapidum_alder
    Global $USER;

    $userID = $USER->GetID(); //Ищем id тек. пользователя.
    $photoID = CUser::GetByID($userID)->Fetch()['PERSONAL_PHOTO']; //Получаем ID Фотографии по ID пользователя.
    $photoPath = CFile::GetPath($photoID); //Получаем путь к файлу.

    Сам искал, сам нашел, решил помочь.
    Ответ написан
    Комментировать
  • Как сделать проверку ключа в двумерном массиве?

    @rapidum_alder Автор вопроса
    Это частный случай, поэтому решения я нашел след.:
    Т.к. первый уровень массива почти всегда один. А с применением value так он всегда один, я решил использовать функцию current для проверки первого элемента массива на соотв. ключ.

    if (array_key_exists('value', current($array))){
    //
    }
    Ответ написан
  • Как вернуть исходное состояние select в динамичном режиме?

    @rapidum_alder Автор вопроса
    Вопрос с косяком ... я использую selectpicker.
    Когда я изменяю состояние select он не меняется т.к. я его не вижу.
    selectpicker требуется перезагрузить.
    То же самое если я удаляю option
    Рабочий вариант оказался:
    $('#......').val(0).selectpicker('refresh');

    Простите =(
    Ответ написан
    Комментировать
  • Кто поможет объяснить разницу между данными и переменными?

    @rapidum_alder Автор вопроса
    Все разобрался,
    var url='test.php';
    function i(c) {return document.getElementById(c);}
    function new_fetch(post){ return fetch(url, {method: 'POST',  body: JSON.stringify(post),}).then(response => response.json())}
    function Start() {$post={"ident" : "Player_take", "metod":"agReSortPosition"};
      new_fetch($post).then((data) =>  i('Select_view').innerHTML = data)}
    function nextLevel($s_2, $s_1){$post={"ident" : "Player_take_Rebud_test", "metod":{"name":$s_1, "style":$s_2}};
      new_fetch($post).then((data) =>  i('Select_view').innerHTML = data)}


    Поменял JS, теперь вместо массивов я отправляю объекты.
    public function takeRebudTest($id){
            $config = json_decode(file_get_contents($id->name.'.json'), true);
            foreach($config['Player'][$id->style] as  $value){
                $out[]=$value;
                        }
            return $out;
        }


    И поменял функцию takeRebudTest.
    Я как понял, не мог обращаться к Json Объектам через переменные.
    Но я могу обращаться к JSON как к массиву.
    $config = json_decode(file_get_contents($id->name.'.json'), true);
    И у меня заработало.
    Ответ написан
    Комментировать