С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
63 / 34 / 8
Регистрация: 07.02.2015
Сообщений: 125
MySQL

Создание ассоциативного массива на лету

21.03.2015, 04:45. Показов 1618. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую! Уже мозги набекрень... Проверьте меня, пожалуйста!

Вывел таблицу с титлами статей, id статей в качестве value и чекбоксами.
Человек отметил те статьи, что ему интересны.
Запрос GET передал эти выбранные id.

PHP
1
2
if( count($_GET['id']) > 0 )
{$exc = implode(',',$_GET['id']);}
Скидыщь! Красота - получили
PHP
1
5,15,67
Теперь хорошо бы списочком опять тайтлы подвесить на выбранные id.

Добавляем сборку значений для запроса, выходит так:

PHP
1
2
3
if( count($_GET['id']) > 0 )
{$exc = implode(',',$_GET['id']);
 $excquery.= ' IN('.$exc.')';}
Получили запрос:
MySQL
1
$query = "SELECT * FROM puk WHERE `id` = '$excquery'";
то есть
MySQL
1
$query = "SELECT * FROM puk WHERE `id` = 'IN (5,15,67)' ";
Получили в ответ массив титлов.

И вот тут случается попа.

Если бы варианты выбора чекбоксов всегда были одинаковые, то

PHP
1
2
3
$puk[5] = 'Про любовь';
$puk[15] = 'Про картошку';
$puk[67] = 'Про соус Карри';
, далее

PHP
1
2
3
4
5
6
$exces= array();
foreach ($_GET['id'] as $val) {
$exces[] = $puk[$val];}
$exces= implode(', ', $exces);
 
echo $exces;
Получили бы
HTML5
1
Про любовь,Про картошку,Про соус Карри
НО!

Чекбоксы все время имеют разные ID, так как список статей для выбора (в самом начале путешествия) формируется на лету из базы, на основе и свежих поступлений. Поэтому заранее определенный ассоциативный массив - не катит. Получается его нужно собирать на лету.

И вот что делать бедному гусару, если список титлов нужен-нужен?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.03.2015, 04:45
Ответы с готовыми решениями:

Создание ассоциативного массива
<? $a=array("mega"=>"sega"); echo "$a"; ?> Где тут у мя ошибка?

Создание ассоциативного массива из строки
Здравствуйте. Помогите создать ассоциативный массив из строки. Строка например: $str = "tp1+00;tp2+01;c1+ok;c2+ok;cpp+10;" ...

Создание переменных из ассоциативного массива
Добрый день! Можно ли в цикле создать переменные с именами ключей массива $_POST?

4
368 / 406 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
21.03.2015, 04:58
Цитата Сообщение от AlexNewaro Посмотреть сообщение
Чекбоксы все время имеют разные ID, так как список статей для выбора (в самом начале путешествия) формируется на лету из базы, на основе и свежих поступлений. Поэтому заранее определенный ассоциативный массив - не катит. Получается его нужно собирать на лету.
И вот что делать бедному гусару, если список титлов нужен-нужен?
Что значит разные ID? У тебя же в примере то же разные ID 5,15,67. Это же не мешает работе скрипта. Они и должны быть разные. Если они разные в том смысле что с базой не пересекаются, то тут уж никто не поможет пока дороги не сделаешь для связи.
0
63 / 34 / 8
Регистрация: 07.02.2015
Сообщений: 125
21.03.2015, 05:04  [ТС]
Я имею в виду, что сегодня в списке id для выбора 5, 17, 67, завтра 113, 120, 200, послезавтра еще какие-то. То есть я не могу предусмотреть ддя определенных id определённые титлы. А значит для каждого id из полученного списка титл нужен получить из базы, верно?
0
368 / 406 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
21.03.2015, 05:21
Ну а разве не этим ты занимался?
Цитата Сообщение от AlexNewaro Посмотреть сообщение
$query = "SELECT * FROM puk WHERE `id` = 'IN (5,15,67)' ";
0
63 / 34 / 8
Регистрация: 07.02.2015
Сообщений: 125
21.03.2015, 05:23  [ТС]
Верно, этим. А как мне вывести полученные данные - не знаю пока. Выборку по id сделал. А списком вывести результат - не соображу как.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2015, 05:23
Помогаю со студенческими работами здесь

Создание переменных по ключам ассоциативного массива
Добрый день есть массив данных мне много где нужно их использовать. Вот и стоит вопрос можно ли как-нибудь проинициализировать переменные...

Создание ассоциативного массива из вытянутых строк(после парсинга сайта)
Здравствуйте, прошу Вашей помощи форумчане. На первой странице сайта я беру выбираю ссылки, (использую curl + phpquery) потом по циклу...

Создание класса шаблона, ассоциативного массива
При компиляции возникают проблемы следующего характера. 1. В конструкторе IContainer компилятор пишет waring: преобразование const double...

Создание ассоциативного массива с динамическими названиями ключей
Задача создать ассоциативный массив из базы Как правильно реализовать названия ячейки из базы данных в массиве? Рабочий пример ...

Создание базы данных на лету, создание и заполнение таблиц в базе DB (Paradox? или..).
Здравствуйте Профи! --- Видел я "простенькую" (exe-шник небольшого размера, запускается сразу, без предварительной установки)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru