Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2010, 19:15   #1
ZET78
Пользователь
 
Регистрация: 02.05.2010
Сообщений: 60
По умолчанию Поиск по MySQL

Товарищи, извините, не мог ли бы помочь, я недавно начал изучать Php b mysql и пытаюсь написать поиск по базе данных. но не знаю как. не могли бы помочь.
И вообще как правильно формировать запрос для поиска?
что-то вроде этого?
Код:
$bd="SELECT * FROM <имя базы данных> LIKE"<имя переменной для поиска" ";>
ZET78 вне форума Ответить с цитированием
Старый 01.08.2010, 19:37   #2
dekameron
Форумчанин
 
Аватар для dekameron
 
Регистрация: 27.04.2010
Сообщений: 185
По умолчанию

PHP код:
<?php
$sql
="SELECT * FROM `tablename` WHERE (`text` LIKE'%$search_text%'  AND `count` < 100) OR `author` = 'admin' ORDER BY `create_date` DESC  LIMIT 10,10   ";
//Выбрать все из таблицы `tablename` где:
//( текст напоминает '......($search_text - т.е. какая то строчка)........ ' )  и (значение поля `count` меньше 100 )
// или 
// значение поля author равно 'admin' 

//Упорядочить результаты по значению поля `create_date` по спадной

//Ограничить выбор: начиная с 10-того элемента выбрать 10 записей


$query=msql_query($sql)or die(mysql_error());
?>
Помог - тырк на весы
dekameron вне форума Ответить с цитированием
Старый 01.08.2010, 19:44   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Если недавно начали - и не знаете как написать поиск - возможно вам ещё рано его писать...
Всему своё время - не пытайтесь сразу делать то,чего не понимаете,просто копирование чужого кода пользы вам ,как программисту, не принесёт.
PHP код:
$bd 'SELECT * FROM `table_name` WHERE `field_name` LIKE "' $search_string '"';// это если точный поиск
$bd 'SELECT * FROM `table_name` WHERE `field_name` LIKE "%' $search_string '%"';// это если поиск вхождения слова
$bd 'SELECT * FROM `table_name` WHERE `field_name_1` LIKE "' $search_string '" OR `field_name_2` LIKE "' $search_string '"';// это если точный поиск в нескольких полях таблицы 
Вариатов много - потому вы сами должны чётко представлять конечную цель и условия поиска - тогда и сможете применить нужный вариант.
Перед поиском в БД вы должны обработать поисковую фразу(слово) так,чтобы поиск был точным и безопасным(!!!).
Andkorol вне форума Ответить с цитированием
Старый 01.08.2010, 19:53   #4
ZET78
Пользователь
 
Регистрация: 02.05.2010
Сообщений: 60
По умолчанию

Спасибо за добрые советы!
ZET78 вне форума Ответить с цитированием
Старый 02.08.2010, 09:09   #5
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А у меня в чем ошибка?
Вот так работает:
Код:
$up_query = mysql_query("SELECT * FROM `sb_eng` WHERE `$eng_sen1`='$eng_sen' ORDER BY `eng_date`");
Вот так нет:
Код:
$up_query = mysql_query('SELECT * FROM `sb_eng` WHERE `$eng_sen1` LIKE "%'.$eng_sen.'%" ORDER BY `eng_date`');
А зачем нужен LIKE, когда есть равно?
Krasi вне форума Ответить с цитированием
Старый 02.08.2010, 10:36   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

2Krasi - уже не первый раз обжигаетесь на кавычках разных....
= строгое равенство
LIKE = поиск по шаблону %слово% (вместо % - может все что угодно)
ADSoft вне форума Ответить с цитированием
Старый 02.08.2010, 16:22   #7
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А чем
Код:
'SELECT * FROM `table_name` WHERE `field_name` LIKE "%' . $search_string . '%"'
отличается от
Код:
'SELECT * FROM `sb_eng` WHERE `$eng_sen1` LIKE "%'.$eng_sen.'%"'
?
Krasi вне форума Ответить с цитированием
Старый 02.08.2010, 16:25   #8
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Вот так работает:
Код:
"SELECT * FROM `sb_eng` WHERE `$eng_sen1` LIKE '%$eng_sen%' ORDER BY `eng_date`"
Krasi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySQL поиск mrgrudge PHP 13 23.05.2010 17:20
Поиск PHP, MySQL, flash программистаов Milevshi Фриланс 4 14.05.2010 14:49
Нужна база на mySQL(поиск в последовательности по частичке кода) Serg64 Фриланс 1 26.04.2010 12:07
Здраствуйте! Как в Mysql выполнить фрагментированный поиск? Warlruss SQL, базы данных 0 08.10.2009 16:03
PHP Поиск в MySQl LeoN PHP 10 08.07.2008 07:10