Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как соединить два запроса в БД?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Шмайсер
Отправлено: 30 Октября, 2011 - 14:55:25
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Всем доброго дня. Есть два запроса, один выполняется после того, как пользователь в форме поиска введет нужные данные, а вот второй выполняется уже после, но он в цикле, что не есть гуд. Сам не осиливаю, подскажите пожалуйста как склеить оба запроса в один ( по возможно, если не трудно, приведите листинг)
Запрос первый
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "SELECT SQL_CACHE SQL_CALC_FOUND_ROWS * FROM $search_table WHERE $moder AND id_razdel$razdel"
  3.                    . " AND id_rubpkv$prof AND id_oblast$oblast AND id_city$city AND $zp_sort>='$zp'"
  4.                    . " AND currency_$type$currency AND (info_$type $q '$info_search') $order LIMIT $offset, $perPageSearch";
  5.         $result = mysql_query($query);
  6.         $line = mysql_fetch_assoc($result);
  7.  


Запрос второй
PHP:
скопировать код в буфер обмена
  1.  
  2. $query_c = "SELECT SQL_CACHE city.id_city, city.name_city, obl.id_oblast, obl.name_oblast FROM $city_t AS city, $oblast_t AS obl WHERE city.id_city='$line[id_city]' AND obl.id_oblast='$line[id_oblast]'";
  3.                 $result_c = mysql_query($query_c);
  4.             $line_c = mysql_fetch_assoc($result_c);
  5.  

Заранее спасибо!
 
 Top
caballero
Отправлено: 30 Октября, 2011 - 15:04:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а что города с областями не связаны?

И уберите PHP переменные с запросов - глаза ломает - jcnfdnt njkmrj cenm/

вопрос то по SQL.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Шмайсер
Отправлено: 30 Октября, 2011 - 15:08:29
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Нет, города и области не связаны, в том то и дело.
Вопрос по PHP - именно PHP выполняет запрос в БД))
 
 Top
caballero
Отправлено: 30 Октября, 2011 - 15:39:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
подскажите пожалуйста как склеить оба запроса в один


вопрос по SQL
что его выполняет неважно

так предоставте sql в читаемом виде
раскажите какие таблицы и что вы хотите вытащить
как можно понять что такое $search_table

когда на форуме нет ответов на несложный вопрос - это означает что никто не понимает сути вопроса и не может ответ сформулировать при всем желании
Я уже не говорю о желании расшифровывать что там наворочено.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Шмайсер
Отправлено: 30 Октября, 2011 - 15:58:31
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




А, понял! Сорри! Вот так наверное правильней будет

первый запрос

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query = "SELECT SQL_CACHE SQL_CALC_FOUND_ROWS * FROM tablename1 WHERE active="1" AND id_razdel="id_razdel""
  4.                    . " AND id_rubpkv="id_rubpkv" AND id_oblast="id_oblast" AND id_city="id_city" AND $zp_sort>='$zp'"
  5.                    . " AND currency="id_currency"  LIMIT $offset, $perPageSearch";
  6.         $result = mysql_query($query);
  7.         $line = mysql_fetch_assoc($result);
  8.  


запрос 2
PHP:
скопировать код в буфер обмена
  1.  
  2. $query_c = "SELECT SQL_CACHE city.id_city, city.name_city, obl.id_oblast, obl.name_oblast FROM city AS city, oblast AS obl WHERE city.id_city='$line[id_city]' AND obl.id_oblast='$line[id_oblast]'";//$line[id_oblast]' береться из первого запроса
  3.                 $result_c = mysql_query($query_c);
  4.             $line_c = mysql_fetch_assoc($result_c);
  5.  
 
 Top
caballero
Отправлено: 30 Октября, 2011 - 16:11:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




час от часу не легче

что такое tablename1 ?
что там находится и что мы должны в конечном итоге выбрать и в каком виде

второй запрос вообще некорректный ты выбираешь данные с двух не связаных между собой таблиц
и что делать с бессмысленным месивом полей на выходе?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB