|
|
|
| Здравствуйте, для меня это проблема:
Есть таблица(answer), в которой хранится тип ответа на вопрос, в зависимости от типа я сохраняю в 4 разных таблицы ответ. Как мне сделать само просто, чтобы можно было выбирать из всех тех 4 таблиц ответы, id которых совпадает с answer.id. При этом ни в одной из них не должно быть совпадающих id, я так понимаю. | |
|
|
|
|
|
|
|
для: 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. | |
|
|
|
|
|
|
|
для: 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)
| | Тебе крайне не советую делать выборку из пяти таблиц по одинаковому строковому значению. | |
|
|
|
|
|
|
|
для: Wunderbar
(15.03.2008 в 16:19)
| | очень нужно .у меня БД из 5 таблиц.
Делаю поиск, выходит результат:
картинка название
картинка название
картинка название
картинка название
я нажимаю на картинку, открывается та же катртинка с ее описанием.
Мне надо выбрать 1 название из нескольких таблиц. код я приводил выше. из 1 таблицы выбирается а другие не могу подключить. | |
|
|
|
|
автор: Wunderbar (15.03.2008 в 17:02) |
|
|
для: AlexKus
(15.03.2008 в 16:58)
| | А можно поинтересоваться зачем 5 таблиц? Нельзя ли было всё в одну запихнуть? | |
|
|
|
|
|
|
|
для: 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 таблиц. Сделай одну, потом добавь поле с идентификатором твоего столбца и где нужно (на самом поле или комбинации полей) поставь индекс. | |
|
|
|
|
|
|
|
для: 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'];
$searchterm= trim($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."%' ");
...
?>
|
| |
|
|
|
|
|
|
|
для: Max Vasin
(15.03.2008 в 01:22)
| | Спасибо! | |
|
|
|