Задать вопрос
  • Как разбить полученные данные скриптом php на соответсвующие массивы для insert в mysql?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    После кода:
    $json_data = json_decode(iconv("CP1251", "UTF8", $json));

    получится массив данных в $json_data:
    Array
    (
        [data] => Array
            (
                [0] => Array
                    (
                        [sku] => 100008
                        [name] => Тетрадь ЗЕЛЁНАЯ обложка 12 листов "Архбум", офсет, клетка с полями, AZ02
                        [category_list] => Array
                            (
                                [0] => 26551
                                [1] => 216228
                                [2] => 216560
                            )
    
                        [manufacturer] => Россия
                        [vendor_code] => AZ02
                        [barcode] => 4607106500012
                        [brand] => АРХБУМ
                        [description] => Школьная тетрадь с классической зеленой обложкой формата А5.
                        [description_ext] => 
                        [weight] => 0.035
                        [volume] => 0.0001
                        [characteristic_list] => Array
                            (
                                [0] => Линовка блока: клетка
                                [1] => Количество листов: 12
                                [2] => Обложка: "зеленая"
                                [3] => Формат: А5
                                [4] => Наличие полей: да
                                [5] => Тип скрепления: скрепка
                                [6] => Внутренний блок: офсет
                                [7] => Плотность внутреннего блока: 60 г/м2
                                [8] => Однотонный дизайн обложки: да
                                [9] => Количество дизайнов в упаковке: 1
                                [10] => Длина: 205 мм
                                [11] => Ширина: 165 мм
                            )
    
                        [facet_list] => Array
                            (
                                [0] => Array
                                    (
                                        [name] => Количество листов
                                        [value] => 12
                                    )
    ...........

    Разумеется исходную кодировку (строка "CP1251" в iconv()) подкорректируйте в соответствии со своей кодировкой данных. Если не перекодироовать русский текст в UTF-8 - то json_decode() не справится с этими данными.
    Ответ написан
    1 комментарий
  • Почему бьются файлы при сохранении на другом компе?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вполне возможно, что домашний компьютер не обеспечивает необходимого уровня тока на USB-порту.
    В отличие от флешек, жеские диски (особенно обычные, с моторами) достаточно прожорливы, им и 500 mA может быть маловато.
    У некоторых HDD например делали провод сразу с двумя USB-штекерами, что бы брать ток из двух USB-портов, с запасом...

    Прогоните многократную проверку поверхности диска на домашнем компьютере, при чём что-бы с записью информации на диск. При многократной проверке всего диска проблемы питания или контроллера обнаружатся быстрее.
    Ответ написан
    1 комментарий
  • Как реализовать двойную сортировку?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну всё правильно сортируется, с уменьшением `new_tours.id`.
    Если у вас будет несколько записей с id=3255, то они отсортируются с уменьшением значения `count(tp.id)`.
    Можно перенести `count(tp.id)` на первое место, тогда сначала будут все count() == 20, потом 19, 18, 17, и т.д., и т.п., и в.с. и а.я., и 0.0.

    P.S. А то, что вы хотите - это аналог значенитого "нам нужно 7 красных линий, и что бы 3 из них были зелёные".
    Ответ написан
  • Как исправить проблему с кодировкой?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В HTML-файле в кодировке UTF-8 сразу после <head>
    добавьте строку <meta charset="utf-8">.
    Ну и проверяйте в браузере, конечно.

    Если хотите такую-же строку для Windows-1251 - то будет <head><meta charset="windows-1251">, но всё-таки лучше использовать UTF-8.

    Поисковая система воспользуется значением из meta charset=..., и всё будет отлично.
    Ответ написан
    Комментировать
  • Как проверить работоспособность выделенных ip-адресов на web-сервере?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    karpo518, ручное вмешательство БЫЛО, потому что вы сами видели в файле '/etc/network/interfaces' прописанные дополнительные адреса. Кто их туда прописал - это уже другой вопрос, я тут не смогу.
    Почему перестало работать? Вот тут смогу. Ubuntu в очередной раз обновилась, и основной утилитой конфигурирования сети стал netplan (хотя кто его об этом не просил?). А поскольку дополнительные адреса были прописаны нестандартно, отдельными записями - скрипт миграции с одной конфигурации на другую не смог их корректно распознать/перенести, вот они и потерялись/отключились. Вуаля!

    P.S. Написал, что бы можно было отметить ответ - решением.
    Ответ написан
  • Почему разные данные?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ваш SOCK5 прокси вообще не принимает подключение. Разбирайтесь почему.
    Или адрес proxy-сервера неправильный, или порт, на котором он должен отвечать
    Или он вообще не существует? Ищите...
    Ответ написан
  • Как добавить номер строки при выводе информации?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну сделайте так:
    if (isset($iskomoe[0])){
        echo htmlspecialchars($doubles[str_replace($_POST['search'], "", $source_data[$i])]." => ".$i." ".str_replace($_POST['search'], "", $source_data[$iskomoe[0]])) . "<br>";
    }


    P.S. Но в целом - код переписывать надо, много нелогичных и неоптимальных мест.
    Ответ написан
    4 комментария
  • Можно ли перехватить ответ пост запроса из формы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Через AJAX отправляйте запрос на проверку POST-данных. Если прийдёт ответ OK, или прямой URL на скачиваемый файл (вам решать по удобству) - вот тогда уже и делайте само скачивание... А в случае ошибки - alert() конечно, и пусть исправляют POST-данные.
    Ответ написан
    Комментировать
  • Почему mysqli_query возвращает NULL?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых ошибка в коде, нет закрывающей круглой скобки в конце mysqli_query().
    А во-вторых сделайте так:
    $q = mysqli_query($connect, "SELECT * FROM tabel WHERE served_id='".mysqli_real_escape_string($connect, $served)."' AND receiver='".mysqli_real_escape_string($connect, $receiver)."'") or die(mysqli_error($connect));
    $query = mysqli_fetch_assoc($q) or die(mysqli_error($connect));

    и смотрите в браузере на наличие ошибок.
    Ответ написан
    Комментировать
  • Есть ли Гид-доступ на Android (POS-режим)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Используйте программу Autostart and StaY.
    Ответ написан
    Комментировать
  • Почему header нельзя использовать после оператора вывода?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Первой строкой скрипта сделайте
    <?php
    ob_start();
    ?>
    <!DOCTYPE html>
    .........
    Ответ написан
    Комментировать
  • Как подсчитывать объем папки в реальном времени?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    du -s /path/to/folder/ разве не даёт такой информации?
    Ответ написан
    5 комментариев
  • SOS! Запутался. Как определить, есть ли в многомерном массиве ключ?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Как-то совсем всё плохо. Вот это - это как?
    if (!in_array($json[$date],$json) ) {
    А что если поменять на вменяемое?
    if (!isset($json[$date])) {

    Дальше, проверяете на массив на наличие значения $ip, а при отсутствии заносите в массив не значение $ip, а $_SERVER['REMOTE_ADDR']. Нелогичненько!
    При этом алгоритм пройдётся вообще по всем датам, в каждой будет искать этот IP, и каждый раз (из каждой даты) будет добавлять в конкретную $json[$date] ещё одну запись про IP, то есть плодить и множить записи с одинаковыми IP/временем.

    P.S. Весьма неряшливый код, не продуманный, с ошибками, резолюция - переделывать нада.
    Ответ написан
  • Как взять значение переменной, если он стоит после нужно строчки?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если не хотите менять последовательность include-ов - тогда делайте буфферизацию вывода, и делайте потом с ним что хотите:
    ob_start();
    include("header.php");
    include("page.php");
    $html = ob_get_clean();
    $html = preg_replace("/<title>.*?</title>/si", "<title>{$new_title}</title>", $html);
    echo($html);
    Ответ написан
    Комментировать
  • Почему не работает постраничная навигация?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну ёлки-палки....
    Должно быть: $result = mysqli_query($link, "SELECT COUNT(*) FROM `proizvoditel` $where ");
    Ответ написан
    Комментировать
  • Какие параметры надо задать тегам html для загрузки файла на сервер mysql через php?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    <form action="/upload_excel.php" method=post enctype="multipart/form-data">
    <input type="file" name="upload_file"> <input  type="submit" value="Загрузить Excel">
    </form>
    Ответ написан
    1 комментарий
  • Можно ли добавить кодирование кириллицы в исключения rawurlcencode?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Или \0x22, тоже вполне кошерный вариант представления двойных кавычек в массиве $replacements.
    Ответ написан
    Комментировать
  • Как вывести строку из БД по указанному параметру?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если запрос будет http :// site.ru /script.php?user=103, то:
    <?php
    $sql = mysqli_query($link, 'SELECT `ID`, `st_form` FROM `q6m0n_qf3_ps` WHERE st_user="'.mysqli_real_escape_string($link, $_REQUEST['user']).'"');
    while ($result = mysqli_fetch_array($sql)) {
    echo "{$result['st_form']}";
    }
    ?>
    Ответ написан
    6 комментариев
  • Как не повторять значения при UPDATE в базе данных?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Сделайте имена полей ввода уникальными.
    Например 'name=ProtectMean_1234', где 1234 - уникальный ID записи в базе данных.

    И потом разбор входящих данных:
    foreach ($_POST as $k => $v)
    {
        if (preg_match(/^ProtectMean_(\d+)$/, $k, $r))
        {
            $update= $GLOBALS['pdo']->prepare("UPDATE protect_means SET nameOfMeans=:value1 WHERE ID=:ID");
            $update->bindParam(':value1', $v);
            $update->bindParam(':ID', $r[1]);
            $update->execute();
        }
    }
    Ответ написан
  • Как правильно написать цикл while внутри while в PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Всё потому, что вы используете одно и то же подключение к базе данных. Получается так:
    1. Запрашиваются записи из db_news, база принимает этот запрос как текущий.
    2. Читается первая запись текущего запроса, т.е. из db_news.
    3. Через это же подключение запрашиваются записи из db_news_img. База запоминает новый запрос как текущий, готова передавать записи из db_news_img.
    4. Читается первая запись текущего запроса, т.е. из db_news_img.
    5. Возврат к началу цикла, хочется прочитать из db_news. Но этот запрос уже не является текущим, он "потерян", поэтому из него невозможно получить данные.
    6. Данных нет - значит конец цикла.

    Вам нужно запоминать и использовать указатель запроса, скорее всего так:
    $db_res1 = $db->Query("SELECT * FROM db_news WHERE cat_id = '$catid' ORDER BY id DESC");//
    if($db_res1->NumRows() > 0){
           while($news = $db_res1->FetchArray()){
                   $textfull = $news["news"];
                    $db_res2 = $db->Query("SELECT * FROM db_news_img WHERE news_id = '$news[id]' ORDER BY id DESC");//
                    if($db_res2->NumRows() > 0){
                            while($img = $db_res2->FetchArray()){
    Ответ написан
    Комментировать