Поиск по базе данных, которая заполняется удаленно

ManOfMoods

Guest
Поиск по базе данных, которая заполняется удаленно

Здравствуте. Мне нужно создать поиск по станице, который будет выглядеть следующим образом:
На странице есть две формы. В первую вносит информацию региональный представитель: направление, вид, сложность и продолжительнсть путешествия. Во второй форме пользователю предлагается по выпадающим спискам выбрать несколько парамметров, описанных выше (направление, вид...). Я создал небольшую базу данных в phpmyadmin.
1)Как мне заставить сервер заносить указанную региональным представителем информацию в базу.
2)И как организовать сам поиск по базе.
3)Мне нужно создать поле, где будет хранится описание путешествия. Подскажите, как мне его описать, если я ввожу больше 150-200 символов в столбец, phpmyadmin говорит, что я должен указать "первичный ключ этой таблицы".
Чем подробней вы ответите, тем лучше. Мои вопросы могут показаться вам глупыми, но, как вы вероятно догадались, я только начал изучать серверные языки и очень хочу реализовать данный поиск.
 

ManOfMoods

Guest
Спасибо. Я это уже читал... Может хоть на один вопрос ответите :( Я понимаю, что 1 и 2 вопрос некорретны, ибо фактически воспринимаются как "напишите мне скрипт". Просто Вы наверняка можете подкинуть нужную ссылку, которую я буду искать неделю...
Какие парамметры должны быть у текстового поля? (третий вопрос)
 

neko

tеam neko
читать может и читал, но по ссылкам точно не щелкал
примеров таких навалом
ничего искать не надо
 

ManOfMoods

Guest
Автор оригинала: neko
читать может и читал, но по ссылкам точно не щелкал
примеров таких навалом
ничего искать не надо
Ok - читаю

-~{}~ 01.04.05 15:27:

Здравствуйте. Я написал формы, о которых писал выше. Спасибо Крому за дельные ссылки =)
Теперь встал вопрос об оптимизации поиска. Запрос на поиск осуществляется по выпадающим спискам, в которых значение по умолчанию имя колонки в базе данных.
<option selected>type
<option>hicking
Проблема в том, что, если не сменить значение по умолчанию, скрипт ищет Type в колонке Type. Можно ли решить эту проблему, не прибегая к множеству условных блоков, в каждом из которых новый запрос?
Я попробовал нечто вроде такого:

$gra = $_POST['grade'];
if ($_POST['type'] <> 'type') {$typ = $_POST['type'];}
else {$typ = "";}

/* составить запрос, который соответствует выбранному в списках */
$query = "SELECT * FROM $userstable WHERE type = '$typ' && grade = '$gra'";
Результат: при выбранном TYPE все работает, при не выбоанном говорит, что подходящего предложения нет.
--------------------------------------------------------------------------------
Обобщая вышесказанное: мне нужно, чтобы при значении выбранном по умолчанию, скрипт выдавал все возможные вырианты (*).
Подскажите, как мне испраить скрипт. Заранее благодарен. Извините за многословность.

P.S. Разумеется без этого можно обойтись, но это не интересно...
:mad:

-~{}~ 04.04.05 14:16:

Здравствуйте. Я написал формы, о которых писал выше. Спасибо Крому за дельные ссылки =)
Теперь встал вопрос об оптимизации поиска. Запрос на поиск осуществляется по выпадающим спискам, в которых значение по умолчанию имя колонки в базе данных.
<option selected>type
<option>hicking
Проблема в том, что, если не сменить значение по умолчанию, скрипт ищет Type в колонке Type. Можно ли решить эту проблему, не прибегая к множеству условных блоков, в каждом из которых новый запрос?
Я попробовал нечто вроде такого:

$gra = $_POST['grade'];
if ($_POST['type'] <> 'type') {$typ = $_POST['type'];}
else {$typ = "";}

/* составить запрос, который соответствует выбранному в списках */
$query = "SELECT * FROM $userstable WHERE type = '$typ' && grade = '$gra'";
Результат: при выбранном TYPE все работает, при не выбоанном говорит, что подходящего предложения нет.
--------------------------------------------------------------------------------
Обобщая вышесказанное: мне нужно, чтобы при значении выбранном по умолчанию, скрипт выдавал все возможные вырианты (*).
Подскажите, как мне испраить скрипт. Заранее благодарен. Извините за многословность.
 

neko

tеam neko
во-первых надо создавать новые темы для таких вопросов
во-вторых не стоит, право, писать мне в приват...
в третих это уже отвечалось.

и опять таки вопрос стоит так, что не совсем понятно что нужно
но я попробую предположить:

$query = "SELECT * FROM $usertable WHERE true";
if( isset($_POST['type'] )
$query .= " AND typ='{$_POST['type]}'";
if( isset($_POST['hype'] )
$query .= " AND hype='{$_POST['hype']}'"

mysql_query( $query );

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

ManOfMoods

Guest
Автор оригинала: neko
я попробую предположить:

$query = "SELECT * FROM $usertable WHERE true";
if( isset($_POST['type'] )
$query .= " AND typ='{$_POST['type]}'";
if( isset($_POST['hype'] )
$query .= " AND hype='{$_POST['hype']}'"

mysql_query( $query );
Здравствуйте, спасибо за помощь. Я таки написал поиск, пока довольно громоздко, но работает=) Если кому-то интересно, то я сделал следующие: Покопавшись в manual'e, я добавил unsent и все заработало.
if ($_POST['Type'] == "All Types")
{ unset($_POST['Type']);
}
$query = "SELECT * FROM $userstable WHERE 1";
if (isset($_POST['type']))
$query .= " AND type='{$_POST['type']}'";
mysql_query( $query );
 
Сверху