Получение данных с фильтрацией. WHERE

Рецепт №119. Из книги «128 рецептов php»
Перейти к оглавлению

В прошлом рецепте было реализовано получение всех записей из таблицы. Такие запросы в реальном мире встречаются крайне редко, поскольку практически всегда необходимо получить данные соответствующие определенному условию, например, всех пользователей с фамилией «Иванов». Чтобы добавить условие в SQL-запрос, нужно дописать в него оператор WHERE:

SELECT * FROM `tbl_users` WHERE `last_name` = "Иванов"

Помимо жесткого сравнения, можно реализовать условие, при котором выборка будет реализована по тем пользователям, чья фамилия оканчивается на «ов». Для этого вместо знака «=» необходимо задать оператор LIKE. Он осуществляет поиск по маске, которая собирается из различных модификаторов, самый распространённый из них «%» — обозначает, что на его месте может быть любое количество любых символов. Таким образом, запрос будет выглядеть вот так:

SELECT * FROM `tbl_users` WHERE `last_name` LIKE "%ов"

Пример:

// предварительно, необходимо реализовать 
// подключение к базе данных

// запрос
// при ошибке остановим скрипт и выведем ошибку
$query = mysql_query("
	SELECT * FROM `tbl_users` 
		WHERE `last_name` LIKE '%ов'

") or die(mysql_error());

// получение результата запроса
$result = array();
while($row = mysql_fetch_array($query, MYSQL_ASSOC)){
	$result[] = $row;
}
// вывод результата
print_r ($result);
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*