Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2010, 21:51   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Плохо Сложный sql запрос или запись

Здраствуйте, столкнулся с такой проблемой
1)делаю запрос к 1 таблице где хранится id type и другие поля
Код:
$r = mysql_query("SELECT * FROM product ORDER BY RAND() LIMIT 1");
теперь в $r хранится -
$r['id'] - мне нужны его ингридиенты
теперь я делаю запрос к другой таблице
Код:
$r2=mysql_query("SELECT * FROM ingridients where parent_id=".$r['id']);
сделал, получил результат в $r2

это прописано внутри функции
теперь каким образом мне передать и $r1 и $r2 return'ом сразу вместе?

2) проще
функции передается id
нужно передать return'ом type и ингридиенты, тут не нужно 1 выборку делать...


В Делфи я бы создал запись -
Код:
t=record
   id:integer;
   type:integer;
   ingridients=record
   ...
    end;
   end;
и в нее забил результаты и отправил

а как в php это сделать?
можно ли написать "сложный" sql запрос?
заранее спасибо!
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 23.08.2010, 22:23   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

С запросом, думаю, не получится. Можно составить выбор ингридиентов в один запрос, а вот чтоб ещё и тип возвращал не соображу как сделать, хотя, гуру SQL может и придумают чего
Вариант первый - PHP поддерживает ООП, создаёте объект и возвращаете
Вариант первый - один результат возвращаете return'ом, второй по ссылке как арумент
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 24.08.2010, 00:22   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

а если типа массивом передать?
PHP код:
$out = array($r,$r2); 
и возвращать его?
ADSoft вне форума Ответить с цитированием
Старый 24.08.2010, 01:20   #4
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

SQL запросом - это не может решится?
Обьект нельзя создавать
array тоже не прокатывает
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 25.08.2010, 01:09   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
array тоже не прокатывает
А можно узнать - почему?
На выходе второго запроса всё равно массив ингридиентов(надо понимать - ингридиент явно не один) - добавьте в него элемент type - и поместите в него значение type из 1-го запроса - делов-то...

Для варианта 2(который проще) - можно примерно так:
PHP код:
// исходя из того,что функции передан id продукта
// запрос примерно такой
$query 'SELECT product.`type`, ingridients.* FROM product, ingridients 
             WHERE ingridients.`parent_id` = ' 
$id ' AND product.`id` = ' $id
Результатом запроса будут:
- значение поля `type` из таблицы product - где id равно переданному в функцию;
- все записи из таблицы ingridients, у которых `parent_id` соответствует переданному в функцию значению id .

Последний раз редактировалось Stilet; 25.08.2010 в 15:27.
Andkorol вне форума Ответить с цитированием
Старый 25.08.2010, 15:15   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Во-первых.
http://habrahabr.ru/blogs/mysql/54176/
Читаем ВНИМАТЕЛЬНО.

Во-вторых:
PHP код:
SELECT FROM `productt1 INNER JOIN `ingridientst2 ON t1.id t2.parent_id 
Я надеюсь с рандомом там сами разберётесь.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросам знатокам и просто любителям, нужно составить не сложный sql запрос modz SQL, базы данных 3 14.08.2013 11:20
Сложный запрос в SQL A-Lex-Is SQL, базы данных 1 10.08.2010 23:19
SQL запрос из двух таблиц.(сложный) Miha87 БД в Delphi 5 10.11.2008 11:04
сложный sql запрос kate158 БД в Delphi 0 18.09.2008 11:38
Сложный SQL-запрос ole777 БД в Delphi 1 08.05.2007 20:56