Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать сравнение в запросе к mysql?
 
 автор: ref   (10.08.2004 в 12:58)   письмо автору
 
 

например что-то вроде:
mysql_query("select * from posts where title in '$search_title';");
такое реально?

   
 
 автор: cheops   (10.08.2004 в 13:41)   письмо автору
 
   для: ref   (10.08.2004 в 12:58)
 

in используется для определения входит ли что-то в последовательность. Для сравнения можно просто воспользоваться знаком равенства
<?php
mysql_query
("select * from posts where title = '$search_title';");?>

или оператором LIKE
<?php
mysql_query
("select * from posts where title LIKE '$search_title';");?>

   
 
 автор: ref   (11.08.2004 в 10:29)   письмо автору
 
   для: cheops   (10.08.2004 в 13:41)
 

а именно вхождение?
т.е. например есть минуты = "12"
и я ищу пост с такими минутами
но в посте есть time = "13:12:45"
как здесь поступить?

   
 
 автор: cheops   (11.08.2004 в 10:52)   письмо автору
 
   для: ref   (11.08.2004 в 10:29)
 

Здесь вхождение не пройдёт, так как база данных время всё-равно хранит во внутреннем представлении, а "13:12:45" - это внешние проявление. Здесь лучше воспользоваться встроенной фунцией MySQL - MINUTE(time).
<?php
mysql_query
("select * from posts where MINUTE(puttime) = 12"); 
?>

Здесь puttime - поле где хранится время.

   
 
 автор: Andron   (11.08.2004 в 13:14)   письмо автору
 
   для: cheops   (11.08.2004 в 10:52)
 

А вот паралельно вопросик:
Как вытянуть из бд данные, у которых puttime = сегодняшнему дню?

   
 
 автор: cheops   (11.08.2004 в 13:19)   письмо автору
 
   для: Andron   (11.08.2004 в 13:14)
 

Т.е. сегодня, начиная с 00:00? Мы обычно для этого используем запрос следующего вида:
SELECT * FROM base 
WHERE putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00')

   
 
 автор: Andron   (11.08.2004 в 16:35)   письмо автору
 
   для: cheops   (11.08.2004 в 13:19)
 

О, спасибо. То, что нужно.

   
 
 автор: ref   (14.08.2004 в 17:04)   письмо автору
 
   для: ref   (11.08.2004 в 10:29)
 

блин -)
ну допустим :
есть тама строка str='gotowww' и подобные
а нужно select записи где встречается 'www'
in - прокатит?

   
 
 автор: cheops   (14.08.2004 в 17:20)   письмо автору
 
   для: ref   (14.08.2004 в 17:04)
 

Так и скажите что просто хотите применить где-нибудь in :))))
Нет, не будет работать, в этом случае следует применять:
SELECT * FROM base
WHERE str LIKE '%www%';

где знак % - означает любое число произвольных символов (* по аналогии с регулярными выражениями). Знак подчёркивания _ означает один произвольный символ (точка . в регулярных выражениях)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования