Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 16.04.2014
Сообщений: 46
1

Вывод нескольких значений из БД в переменную

16.04.2014, 10:28. Показов 2572. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Помогите решить проблему.
Есть 2 таблицы, первая "items", вторая "items_have".
Делаю вот такие запросы, чтобы вывести нужные значения из полей:
SELECT item_id FROM item_have WHERE char_id='$char_id'
SELECT name, description FROM items WHERE id='$item_id' (Переменная item_id из первого запроса)
Что хочу сделать:
Нужно, чтобы через 1й запрос в item_id записались все значения с char_id='$char_id'.
А потом, через 2й запрос вывести все name и description c нужным id из первого запроса.
Пытался сделать через массивы, но для этого сами массивы нужно пронумеровать, но нельзя, т.к парсирую из php в другой язык программирования, и уже там разделяю значения массивами.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2014, 10:28
Ответы с готовыми решениями:

Вывод нескольких значений в цикле
Пишу выборку данных из базы и столкнулся с такой проблемой. Есть определенные числа, к которым в...

Выбор нескольких пунктов списка и вывод выбранных значений на экран
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

Вывод значений из нескольких таблиц
Привет всем. Есть талица с задачами(zads) в ней есть поля где id_tips, и мне нужно вывести вместо...

Вывод из базы нескольких значений одного параметра
Добрый день! У меня есть две таблицы: tema и catalog. В таблице catalog перечислены позиции и...

6
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
16.04.2014, 11:38 2
MySQL
1
SELECT `name`, `description` FROM `items` WHERE `id` in (  SELECT `tem_id` FROM `item_have` WHERE `char_id` = '$char_id' )
0
0 / 0 / 0
Регистрация: 16.04.2014
Сообщений: 46
16.04.2014, 12:34  [ТС] 3
Меня видимо неправильно поняли, я хочу сделать так:



item_id (item_have) = id (items)
Принимаем char_id через post
Отправляем запрос в БД, чтобы получить ВСЕ item_id c полученным char_id.
Находим name и description по полученным item_id.Хотелось бы сделать так:
переменная $names = name1,name2,name3;
переменная $descriptions = description1,description2,description3;
Миниатюры
Вывод нескольких значений из БД в переменную  
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
16.04.2014, 12:56 4
Ну подзапрос:
MySQL
1
SELECT `tem_id` FROM `item_have` WHERE `char_id` = '$char_id'
достанет набор tem_id, в примере достанутся 1 , 2 , 3
Тогда главный запрос будет:
MySQL
1
SELECT `name`, `description` FROM `items` WHERE `id` in ( 1 , 2 , 3)
Что достанет дескрипшены и неймы с char_id = 1 из другой таблицы, что не так? Затем при обработки полученных данных можно их группировать по пачкам имен и описаний.
0
0 / 0 / 0
Регистрация: 16.04.2014
Сообщений: 46
17.04.2014, 18:59  [ТС] 5
Спасибо!
Сделал как вы написали в самом первом запросе, а потом вывел все в цикле:
PHP
1
2
3
4
do{ 
echo $result['icon'].'_'; // "_" - префикс
} 
while($result = mysql_fetch_array($sql,MYSQL_ASSOC));
И появился еще один вопрос.
Я использую префикс "_", чтобы парсировать полученные значения в программе (на другом языке программирования), не могли бы вы подсказать, как сделать так, чтобы при получении последнего значения в цикле не добавлялся этот префикс?
Пример:
Сейчас в цикл выводит данные так "icon1_icon2_icon3_", нужно, чтобы было "icon1_icon2_icon3".
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
17.04.2014, 19:02 6
собрать их в массив и массив склеить через _
PHP
1
2
3
4
5
6
$result_array = array();
do{ 
$result_array[] =  $result['icon']; 
} 
while($result = mysql_fetch_array($sql,MYSQL_ASSOC));
echo implode( '_' , $result_array );
0
0 / 0 / 0
Регистрация: 16.04.2014
Сообщений: 46
17.04.2014, 19:06  [ТС] 7
Спасибо! Все работает как надо
0
17.04.2014, 19:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2014, 19:06
Помогаю со студенческими работами здесь

Вывод данных при нескольких значений через запятую
Есть такие таблицы: CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, ...

Побитовая запись в переменную нескольких значений
Доброго времени суток, прошу помощи в создании програмы которая должна считывать данные вводимые...

Описать процедуру Minmax(x,y) записывающую в переменную Х минимальное из значений Х и Y, а в переменную Y – максимальное из этих значений.
Описать процедуру Minmax(x,y) записывающую в переменную Х минимальное из значений Х и Y, а в...

Описать процедуру Minmax(A,B), записывающую в переменную A минимальное из значений A и B, а в переменную B — максимальное из этих значений
В заданиях данной подгруппы требуется реализовать процедуры или функции с числовыми параметрами...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru