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 :: как реализовать поиск по 2 базам?

 PHP.SU

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


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

> Без описания
splish
Отправлено: 05 Ноября, 2010 - 21:38:01
Post Id


Новичок


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


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




Всем привет.
Есть 2 базы (data и datad)
Есть 2 обработчика
Как сделать 1 форму поиска для двух обработчиков?

Например пользователь ставит галочку "искать в статьях" - при нажатии на поиск запрос передаётся отдельному обработчику, а если выбрать другую галочку обработчик будет другим.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action="первый обработчик.php" method="post" name="form_s" class="forma">
  2. <p class="search_t">Ваш запрос должен состоять не менее чем из 4-х символов</p>
  3. <p><input name="search" type="text" size="25" maxlength="40" />
  4. <input class="search_b" name="submit_s" type="submit" value="Искать" />
  5. </p>
  6. </form>


Или же как сделать обработчик который будет выдавать информацию из двух баз

Запрос на вывод из одной базы datad:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = mysql_query ("SELECT id,title,description,date,author,mini_img,view FROM datad WHERE MATCH(text) AGAINST('$search')",$db);


Спасибо.
 
 Top
Garda1
Отправлено: 05 Ноября, 2010 - 22:22:57
Post Id


Новичок


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


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




простой sql-запрос для двух баз данных
CODE (SQL):
скопировать код в буфер обмена
  1.  SELECT id,title,date(и т.п.) FROM DATA,datad WHERE...


если есть одноимённые параметры в базах, то перед параметром ставится название базы например: data.id,datad.id ...

(Отредактировано автором: 05 Ноября, 2010 - 22:23:28)

 
 Top
splish
Отправлено: 05 Ноября, 2010 - 22:44:12
Post Id


Новичок


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


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




Garda1 пишет:
если есть одноимённые параметры в базах, то перед параметром ставится название базы например: data.id,datad.id ...

Недопонимаю пока что

Спасибо что откликнулись.
Есть запрос:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = mysql_query ("SELECT id,title,description,date,author,mini_img,view FROM data WHERE MATCH(text) AGAINST('$search')",$db);


Мы выбираем поля id,title,description,date,author,mini_img,view из базы data
Значит что бы дополнительно выбирались поля из другой базы datad (они такие же как и в data) нужно прописать datad.id,datad.title,...?
Но поиск идёт по колонке text
Что то не то, выручайте.
 
 Top
DlTA
Отправлено: 05 Ноября, 2010 - 23:44:46
Post Id



Постоянный участник


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


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




а Вы не путаете понятие "база" с понятием "таблица"?
чет мне кажется что путаете.
почитайте синтаксис запроса SELECT
(Добавление)
или Использование нескольких таблиц
 
 Top
Garda1
Отправлено: 05 Ноября, 2010 - 23:58:13
Post Id


Новичок


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


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




да уж, вместо моих слов база в самом деле имеется ввиду таблица.
и если в вопросе тоже подразумевалось именно это, то вполне возможен такой запрос:
CODE (SQL):
скопировать код в буфер обмена
  1.    1.
  2.       $result = mysql_query ("SELECT data.id,data.title,data.description,data.date,data.author,.data.mini_img,data.view,datad.id,datad.title,datad.description,datad.date,datad.author,datad.mini_img,datad.view FROM data,datad WHERE MATCH(data.text,datad.text) AGAINST('$search')",$db);


хотя если не так много различий между таблицами, то можно их объединить добавив колонку различия
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB