Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

От автора: хорошо натренированный пес всегда возьмет след! Но даже он не поможет найти нужную информацию в MySQL. Сегодня мы рассмотрим, как происходит поиск базе PHP. И как в этом деле обойтись без друга человека.

Как искать?

В одном из прошлых уроков мы рассматривали вывод данных в MySQL. Я рассказал вам, что для этого используются запросы SQL. Точнее, только одна команда – SELECT. Но в том раз я кое о чем умолчал: ее можно использовать не только для выборки данных и сортировки, но и для поиска.

Чтобы найти конкретную строку, отвечающую заданному условию, применяется оператор where. Для демонстрации всех примеров предлагаю перейти в phpMyAdmin.

Предположим, что нужно осуществить с помощью PHP поиск в базе MySQL. Нам надо найти строку, в которой значение столбца Name равно Aruba. Чтобы «отсеять» эту строку из всей таблицы, следует составить правильный запрос.

Вспоминаем все вышесказанное и принимаемся за дело. Первоначально разбираемся с условиями, которым должна соответствовать найденная строка. И со столбцами, значение которых должен вернуть запрос.

Сказано, что в искомой строке значение столбца Name должно быть равно указанному. Это условие мы пропишем после оператора where. Все ли данные из этой строки нужно отображать? Предположим, что да:

SELECT * FROM `country` where name='Aruba';

Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

Усложняем запросы

Но не единым запросом живет MySQL :) . У данной СУБД этих запросов, хоть завались! Можно и «завалиться», если не знать, как их правильно составлять. Тогда PHP поиск в базе данных превратится в настоящий кошмар. Но так как мы не любим ужастики, то рассмотрим еще несколько запросов для нахождения искомого в БД MySQL.

Если требуется вывести не все значения строки, тогда в команде прописываем нужные. Пример:

SELECT name,population FROM `country` where name='Aruba';

Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

После SELECT мы указали те столбцы, значения которых нам интересны. Но в двух предыдущих примерах поиск происходит только по строковым значениям. А в БД могут храниться и другие типы данных. Например, числовые:

SELECT name, population FROM `country` where population=103000;

Я немного «перекроил» предыдущий запрос, задав в качестве условия значение числового столбца. Хотя оба запроса вернут один и тот же результат. Доказательство:

Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

Кроме этого можно расширить рамки сортировки, и вывести строки таблицы, в которых числовое значение меньше или больше заданного. Например, выведем страны, где «популяция» больше 103000:

SELECT name, population FROM `country` where population>103000;

Или больше:

SELECT name, population FROM `country` where population<103000;

Но в обоих случаях мы теряем искомую строку – родимую Aruba :) . Чтобы включить ее в результат выборки, следует использовать другой оператор сравнения. Больше или равно:

SELECT name, population FROM `country` where population>=103000;

Меньше или равно:

SELECT name,population FROM `country` where population<=103000;

Благодаря этим оператором родимая Aruba никуда из выборки не делась:

Поиск в базе PHP или как я остался без вкуснейшего бутерброда!

Пока все. Теперь я уверен, что ваш поиск по базе данных MySQL и PHP увенчается успехом, и для этого не потребуется опытная собака-ищейка. Хотя мне, наверное, понадобится… Пока писал материал, мой «домашний друг человека» стащил со стола вкуснейший бутерброд с колбасой и ветчиной. Но деваться некуда – с друзьями нужно делиться :) .

Интернет-магазин под ключ

Изучаем PHP, MySQL, JavaScript и верстку на примере создания интернет-магазина

Научиться

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree