Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка из нескольких таблиц
 
 автор: Terran   (14.03.2008 в 23:25)   письмо автору
 
 

Здравствуйте, для меня это проблема:
Есть таблица(answer), в которой хранится тип ответа на вопрос, в зависимости от типа я сохраняю в 4 разных таблицы ответ. Как мне сделать само просто, чтобы можно было выбирать из всех тех 4 таблиц ответы, id которых совпадает с answer.id. При этом ни в одной из них не должно быть совпадающих id, я так понимаю.

   
 
 автор: Max Vasin   (15.03.2008 в 01:22)   письмо автору
 
   для: Terran   (14.03.2008 в 23:25)
 

насколько я понял задание, то имхо, д.б. так
SELECT * <перечисляешь все табицы, которые собираешься использовать> 
WHERE answer.id=таблица1.id and 
answer.id=таблица2.id and 
answer.id=таблица3.id and 
answer.id=таблица4.id


----
Regards, Max Vasin.

   
 
 автор: AlexKus   (15.03.2008 в 15:00)   письмо автору
 
   для: Max Vasin   (15.03.2008 в 01:22)
 

У меня аналогичная проблема. Я перелопатил кучу литературы, помогите разобраться и доделать скрипт.
У меня 5 таблиц 1,2,3,4,5 в них одинаковые названия столбцов photo, name,isbn, price.

if ( !isset($_GET["name"]) || !$_GET["name"]) die('Ошибка: не передано название картинки');
$name = mysql_escape_string($_GET["name"]);
$result = mysql_query("select * from 1 WHERE name = '$name'");

так я выбираю только из первой таблицы. Ну помогите разобраться.

   
 
 автор: Wunderbar   (15.03.2008 в 16:19)
 
   для: AlexKus   (15.03.2008 в 15:00)
 

Тебе крайне не советую делать выборку из пяти таблиц по одинаковому строковому значению.

   
 
 автор: AlexKus   (15.03.2008 в 16:58)   письмо автору
 
   для: Wunderbar   (15.03.2008 в 16:19)
 

очень нужно .у меня БД из 5 таблиц.
Делаю поиск, выходит результат:
картинка название
картинка название
картинка название
картинка название
я нажимаю на картинку, открывается та же катртинка с ее описанием.
Мне надо выбрать 1 название из нескольких таблиц. код я приводил выше. из 1 таблицы выбирается а другие не могу подключить.

   
 
 автор: Wunderbar   (15.03.2008 в 17:02)
 
   для: AlexKus   (15.03.2008 в 16:58)
 

А можно поинтересоваться зачем 5 таблиц? Нельзя ли было всё в одну запихнуть?

   
 
 автор: AlexKus   (15.03.2008 в 22:19)   письмо автору
 
   для: Wunderbar   (15.03.2008 в 17:02)
 

Спасибо за беспокойство я доделал. Вот ответ на мой вопрос
SELECT * FROM table1 WHERE name = '$name'
UNION
SELECT * FROM table2 WHERE name = '$name'
UNION
SELECT * FROM table3 WHERE name = '$name'
UNION
SELECT * FROM table4 WHERE name = '$name'
UNION
SELECT * FROM table5 WHERE name = '$name'

А в одну я не могу у меня выборка идет по разным котегориям

   
 
 автор: Wunderbar   (15.03.2008 в 23:10)
 
   для: AlexKus   (15.03.2008 в 22:19)
 

Тебе не нужно 5 таблиц. Сделай одну, потом добавь поле с идентификатором твоего столбца и где нужно (на самом поле или комбинации полей) поставь индекс.

   
 
 автор: AlexKus   (17.03.2008 в 21:13)   письмо автору
 
   для: Wunderbar   (15.03.2008 в 23:10)
 

Это сново я. решил воспользоваться подсказкой перенести все данные в 1 таблицу получилось так

CREATE TABLE kotgoods (
id int unsigned not null,
photo char(100) not null,
ISBN char(13) not null primary key,
name char(50) not null, price float(6,2),
memo text not null);

получилась такая табл
id ... ... ...
1 ... ... ...
1 ... ... ...
2 ... ...
2 ... ...
..


нужно сделать поиск по котегориям помогите кто-нибудь
search.php

 <form action="result.php" method=post>
<font size="2">Выберите:</font><br />
<select name="id">           
<option value="1"> Новинки</option>
<option value="2"> Корпусная</option>
<option value="3"> Из стекла</option>        
<option value="4"> Зеркала влагостойкие</option>
<option value="5"> Зеркала в багете</option>
<option value="6"> Дополнительно</option></select>
<p>
<font size="2">Выберите группу поиска:</font><br />
<select name="searchtype">
<option value="name"> По названию</option>
<option value="ISBN"> По ISBN</option>
<option value="price"> По цене</option></select>
<p><font size="2">Введите информацию для  поиска:</font><br />
<input name="searchterm" type="text" size="20">
<br />
<input type="submit" value="Найти"></p></form> 



код result.php

 <?php
 $id
=$_POST['id'];
 
$searchtype=$_POST['searchtype'];
 
$searchterm=$_POST['searchterm'];

 
$searchtermtrim($searchterm);

 if (!
$searchtype || !$searchterm )
 {
    echo 
'Вы не ввели параметры поиска.  Пожалуйста, вернитесь на предыдущую страницу и повторите ввод.';
    exit;
 }
 
 if (!
get_magic_quotes_gpc())
 {
   
$searchtype addslashes($searchtype);
   
$searchterm addslashes($searchterm);
   
$id addslashes($id);
 }

if(!
mysql_connect($_conf[mysql_host],$_conf[mysql_user],$_conf[mysql_passwd])){
die(
'Не удалось установить соединение с MySQL!');
}

if(!
mysql_select_db($_conf[mysql_dbname])){
die(
'База данных не найдена!');
}
$result=mysql_query("select * from kotgoods where  id = ??  ".$searchtype." like '%".$searchterm."%' ");
...
?> 

   
 
 автор: Terran   (22.03.2008 в 11:26)   письмо автору
 
   для: Max Vasin   (15.03.2008 в 01:22)
 

Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования