[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по бд MySQL
Гость_PoisoN
Ребята, с php я знаком не очень, помогите, подскажите как сделать бд и поиск по ней с помощью php по нескольким критериям, ФИО, дата рождения, и еще что-нибудь, вообщем подскажите сам принцип, буду очень благодарен



Спустя 3 минуты, 17 секунд (4.12.2009 - 15:17) twin написал(а):
Штудируй операторы (SQL) - LIKE, АND и OR
А в PHP все, что связано с запросами в базы данных.
А там само пойдет)))

Спустя 12 часов, 7 минут, 9 секунд (5.12.2009 - 03:24) Soldier Ghost написал(а):
Немного углублюсь, покажу пример )

SELECT *
FROM `table`
WHERE `name` LIKE '%".$name."%' OR
`surname` LIKE '%".$surname."%' AND
`date_b` LIKE '%".$date_b."%'

Твин научил tongue.gif

Спустя 5 часов, 27 минут, 22 секунды (5.12.2009 - 08:51) Michael написал(а):
Не надо никакие там %. Надо точно искать по тому что введено.
//Введено имя:
$query = "SELECT * FROM `table` WHERE `name` = '" . $name . "'";
//Введено имя и адрес:
$query = "SELECT * FROM `table` WHERE `name` = '" . $name . "' AND `address`='" . $address . "'";
// Введен адрес
// .......................


И не забывать в PHP обрабатывать строковые данные перед запросом:
$name = mysql_real_escape_string($name);

Цитата
Твин научил tongue.gif

заметно.

Спустя 1 час, 3 минуты, 40 секунд (5.12.2009 - 09:55) twin написал(а):
Soldier Ghost
Цитата
Твин научил

Поклёп. Не учил я этому.
Michael
Цитата
заметно.

Ничего не заметно. А вот дыра в твоем скрипте еще как заметна.
Даже если взять во внимание, что ты телепат и точно знаешь, что именно нужно автору - поиск по полному совпадению, а не по части имени, твой запрос крив.
//Введено имя:
$query = "SELECT * FROM `table`
WHERE `name` = '"
. mysql_real_escape_string($name) . "'";
//Введено имя и адрес:
$query = "SELECT * FROM `table`
WHERE `name` = '"
. mysql_real_escape_string($name) . "'
AND `address`='"
. mysql_real_escape_string($address) . "'";
// Введен адрес
// .......................

Спустя 27 минут, 35 секунд (5.12.2009 - 10:23) Michael написал(а):
Цитата (Michael @ 5.12.2009 - 07:51)
И не забывать в PHP обрабатывать строковые данные перед запросом:
$name = mysql_real_escape_string($name);

Я показал по типу как делать, дальше ТС пусть думает своей головой, анализирует - это мой подход.

Цитата
Поклёп. Не учил я этому.

Вот так значит. А человек считает, что ты его научил. Твои радиовещания он впитал. И не отрекайся от учеников. mad.gif

Спустя 21 минута (5.12.2009 - 10:44) twin написал(а):
Цитата
Твои радиовещания он впитал. И не отрекайся от учеников.

С дуру можно и мягкие ткани поломать. Не от учеников я отрекаюсь, а от того, что мне приписывают. Если бы он впитал это "радиовещание" ( и ты кстати тоже), то не писали бы оба такой откровенной ереси.

Цитата
Я показал по типу как делать, дальше ТС пусть думает своей головой, анализирует - это мой подход.

Нет. Ты не показал по типу. Ты имел наглость совершенно однозначно заявить, что
Цитата
Не надо никакие там %. Надо точно искать по тому что введено.

И после этого говорить о каком то подходе, который дает вопрошающему поле для раздумий.

И при этом еще и обвинить меня в том, что я неверно кого то учу.
Покажи мне пальцем, где я дал конкретный совет, как писать запрос? К тому же автор этого и не просил.

Спустя 1 час, 52 минуты, 20 секунд (5.12.2009 - 12:36) Soldier Ghost написал(а):

$query = "SELECT * FROM `table` WHERE `name` = '" . mysql_real_escape_string($name) . "'";
//
Введено имя и адрес:
$query = "SELECT * FROM `table` WHERE `name` = '" . mysql_real_escape_string($name) . "' AND `address`='" . mysql_real_escape_string($address) . "'";

Если я не ошибасюь такой запрос будет искать точные совпадения т.е. если в поиск вбито слово Login, а в базе лежит Logi то он ничего не найдёт
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.