Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.06.2017
Сообщений: 77

PHP + SQL + JSON (Правильно построить json)

17.07.2022, 07:43. Показов 787. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Возникла небольшая трудность с правильным построением json ответа в php, прошу экспертов помочь.
Запрашиваю ноер картинки и картинку из Блоб(знаю, что хранить картинки в базе это плохо... Но нужно...)
Первое поле нестандартное, остальные поля это ответ запроса SQL.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                $link = mysqli_connect("localhost", "myTest", "", "bazatest");
                  $sql = "SELECT  picture, nomer_shtampa FROM shtamps";
                  $result = mysqli_query($link, $sql);
                  // запрос проходит нормально, результат есть...
 
                  $SHTAMP_array = array();
 
                     $SHTAMP_array[] = ["t-rki" : "-tz -tx -tv"];  //нулевой элемент массива нестандартный
                    
 
                         while ($row = mysqli_fetch_array($result)) {
                     
                         $pic=base64_encode($row['picture']);
                         $q = [$row['nomer_shtampa'] => $pic];
                         $SHTAMP_array[]=$q;
                    
                         }
               
                     echo json_encode($SHTAMP_array, JSON_UNESCAPED_UNICODE); ;
                     mysqli_close($link);
Но сколько я вариантов не пробовал, нужный вид джисона так и не получил (Простите, в РХР я пока самый нуб).
Нужный вид джисона {"t-rki" : "-tz -tx -tv", "1":"sdfsdf","22":"sdfsdf" }
Нужно что бы все строки(включая строки массива) были доступны из первой зоны... Так сказать без подкаталогов...

Заранее всем спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.07.2022, 07:43
Ответы с готовыми решениями:

Как правильно сформировать массив в json для php?
если есть массив- первичных параметров, то тут проблем у меня не возникло: $data="YVN"; $data="getIt"; ...

Ошибка в коде SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
не пойму в чем ошибка вот код header("Content-Type: application/json; encoding=utf-8"); $uid = intval($_GET); $userid =...

Вернуть в Ajax-success $json из другого $json
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Есть код: <?php $json .= '<script> var...

3
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
17.07.2022, 09:13
PHP
1
$SHTAMP_array['t-rki'] = '-tz -tx -tv';
Добавлено через 2 минуты
В данном случае лучше инициализировать переменную массива таким способом:
PHP
1
$SHTAMP_array = ['t-rki' => '-tz -tx -tv'];
0
0 / 0 / 0
Регистрация: 03.06.2017
Сообщений: 77
17.07.2022, 10:44  [ТС]
Спаисбо за ответ, но что делать с этим [{"1":"kkljd"}, {"22":"sdfsdf"}] - У меня получается такой вывод джисона если я пользуюсь этим заполнением, что показал выше в цикле... Как массив поднять на верхний уровень дерева? (Откуда не возьмись в начале джисона и в коленце появляются квадратные скобки [ ] или каждый элемент массива становится отдельным объектом в { {}, {}, {} } )
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
17.07.2022, 12:18
Лучший ответ Сообщение было отмечено ratttx6 как решение

Решение

Аналогично первой показанной выше команде.

Добавлено через 1 минуту
PHP
1
$array[ключ] = значение;
Добавлено через 1 минуту
Ключи берете из $row['nomer_shtampa'], если уверены в их уникальности
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2022, 12:18
Помогаю со студенческими работами здесь

POST запрос из файла main.php в файл json.php
Подскажите пожалуйста, вот POST запрос из файла main.php в файл json.php <!-- Подключение библиотеки jQuery --> <script...

Правильно сгенерировать JSON из БД
Здравствуйте. Есть задача: сгенерировать json файл из бд средствами php. В принципе задачу я выполнил, но json получается не в том виде...

Составить json правильно
Доброго дня! Есть: $text = "Yes/No"; $words = preg_replace("/(\/)/", "", $text); foreach($words as $v){ $user_vote = ]; } ...

Правильно создать json
Добрый день. $query = mysqli_query($link, "SELECT * FROM `user_device` WHERE `user_id` = '$user_id'"); while($row =...

PHP json_decode (json или не json)
Третий день ломаю голову над вопросом: API вконтакте возвращает массив в json (как я полагаю) - вроде похоже на json Вот строка: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru