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

Форум MySQL

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

 

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

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

тема: выбрать все кому меньше или равно 14 лет
 
 автор: garold   (24.04.2010 в 18:04)   письмо автору
 
 

SELECT 
    data,DATE_SUB( DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) , INTERVAL 14 YEAR ) 
FROM 
    `users` 
WHERE 
   data >= DATE_SUB( DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) , INTERVAL 14 YEAR )  


Я это сделал так. Или можно как-то более правильно?

  Ответить  
 
 автор: Valick   (24.04.2010 в 18:07)   письмо автору
 
   для: garold   (24.04.2010 в 18:04)
 

а что BETWEEN не канает?

  Ответить  
 
 автор: garold   (24.04.2010 в 18:11)   письмо автору
 
   для: Valick   (24.04.2010 в 18:07)
 

Я бы с интересом посмотрел бы как бы вы это с BETWEEN проделали

  Ответить  
 
 автор: Valick   (24.04.2010 в 18:48)   письмо автору
 
   для: garold   (24.04.2010 в 18:11)
 

SELECT date
FROM users
WHERE date
BETWEEN date - INTERVAL 14 YEAR  AND NOW()


ну примерно так...

  Ответить  
 
 автор: Trianon   (24.04.2010 в 19:50)   письмо автору
 
   для: Valick   (24.04.2010 в 18:48)
 

У Вас написано если d-14<= d <= n
что математиками читается как (d-14 <= d ) and d <= n
левая скобка истинная по определению.
Результат WHERE date <= NOW()
Очевидно, это не то, что хотели Вы.
Однозначно - не то, что хочет тредстартер.

  Ответить  
 
 автор: garold   (24.04.2010 в 20:00)   письмо автору
 
   для: Trianon   (24.04.2010 в 19:50)
 

А мое решение правильно?

  Ответить  
 
 автор: Trianon   (24.04.2010 в 20:07)   письмо автору
 
   для: garold   (24.04.2010 в 20:00)
 

по-моему, у Вас там каша из функций

WHERE data >= NOW( ) - INTERVAL 14 YEAR 

читается как-то попроще.

И да, никогда не называйте дату data
data - это данные . Совсем дрогое слово, во множественном числе.

  Ответить  
 
 автор: oliss   (25.04.2010 в 02:02)   письмо автору
 
   для: Trianon   (24.04.2010 в 20:07)
 

Trianon,а можно задать отвлеченный от темы вопрос .функция NOW( ) привязана к серверу Sql ( часовому поясу нахождения сервера) или к клиенту (консоли, ПМА )?

  Ответить  
 
 автор: Trianon   (25.04.2010 в 02:34)   письмо автору
 
   для: oliss   (25.04.2010 в 02:02)
 

напрямую к серверу не привязано ничего.

опосредованно, через таймзону, которую клиент может поменять, - да, к серверным умалчиваемым установкам..

  Ответить  
 
 автор: Valick   (24.04.2010 в 20:32)   письмо автору
 
   для: Trianon   (24.04.2010 в 19:50)
 

BETWEEN NOW() - INTERVAL 14 YEAR AND NOW()

  Ответить  
 
 автор: Trianon   (24.04.2010 в 21:06)   письмо автору
 
   для: Valick   (24.04.2010 в 20:32)
 

левый операнд укажите, пожалуйста. А то вот так просто ,написанная строка - даже не выражение.

  Ответить  
 
 автор: Valick   (24.04.2010 в 22:54)   письмо автору
 
   для: Trianon   (24.04.2010 в 21:06)
 

<?php
include ("conect.php");
$start=15;
$end=10;
$query="SELECT * 
    FROM vdate 
    WHERE putdat 
    BETWEEN NOW()-INTERVAL 
$start YEAR AND NOW()-INTERVAL $end YEAR";
$res mysql_query($query);
while (
$mass=mysql_fetch_array($res)){
echo 
$mass[putdat]."<br />";
}
?>

Проверил и с DATETIME и с TIMESTAMP

  Ответить  
 
 автор: Trianon   (25.04.2010 в 00:28)   письмо автору
 
   для: Valick   (24.04.2010 в 22:54)
 

А автор темы хотел ограничить дату сверху?

  Ответить  
 
 автор: garold   (25.04.2010 в 13:46)   письмо автору
 
   для: Trianon   (25.04.2010 в 00:28)
 

Что значит сверху?

  Ответить  
 
 автор: Trianon   (25.04.2010 в 15:22)   письмо автору
 
   для: garold   (25.04.2010 в 13:46)
 

WHERE .... AND date <= $maxvalue

  Ответить  
 
 автор: Valick   (11.05.2010 в 13:30)   письмо автору
 
   для: Trianon   (25.04.2010 в 00:28)
 

не спрашивайте как я догадался

  Ответить  
 
 автор: garold   (11.05.2010 в 13:23)   письмо автору
 
   для: Valick   (24.04.2010 в 22:54)
 

Если я хочу выбрать всех кому сейчас от 15 до 16 лет, соответсвенно $start = 16, $end = 15?
Что-то я запутался.

  Ответить  
 
 автор: Valick   (11.05.2010 в 13:51)   письмо автору
 
   для: garold   (11.05.2010 в 13:23)
 

мой код уже не работает?

  Ответить  
 
 автор: garold   (11.05.2010 в 14:09)   письмо автору
 
   для: Valick   (11.05.2010 в 13:51)
 

В смысле? Да блин уже 2 ночь работю, голова туго идет, а тут еще после 9 мая.
Короче теперь нужно выбрать всех кому есть >=15 и <=16

  Ответить  
 
 автор: Valick   (11.05.2010 в 14:16)   письмо автору
 
   для: garold   (11.05.2010 в 14:09)
 

в прямом смысле...
подставте свои значения в код который я написал чуть выше и напишите что там не так

  Ответить  
 
 автор: garold   (11.05.2010 в 15:39)   письмо автору
 
   для: Valick   (11.05.2010 в 14:16)
 

ваш код как я понимаю должен вывести все тех кому от 10 до 15 лет? у меня получается так вроде

  Ответить  
 
 автор: Valick   (11.05.2010 в 15:46)   письмо автору
 
   для: garold   (11.05.2010 в 15:39)
 

ну раз получается - значит должен :))

  Ответить  
 
 автор: garold   (11.05.2010 в 16:33)   письмо автору
 
   для: Valick   (11.05.2010 в 15:46)
 

то ли ты стебаешься, то ли сам не знаешь)))

  Ответить  
 
 автор: Valick   (11.05.2010 в 16:38)   письмо автору
 
   для: garold   (11.05.2010 в 16:33)
 

одно другому не мешает и абсолютно не взаимоисключает)))

  Ответить  
 
 автор: Trianon   (11.05.2010 в 22:52)   письмо автору
 
   для: garold   (11.05.2010 в 14:09)
 

Может есть смысл сделать перерыв?

  Ответить  
 
 автор: garold   (14.05.2010 в 12:57)   письмо автору
 
   для: Trianon   (11.05.2010 в 22:52)
 

Trianon, я бы с радостью, но от меня мало что зависит(

  Ответить  
 
 автор: а-я   (25.04.2010 в 08:26)   письмо автору
 
   для: garold   (24.04.2010 в 18:04)
 

.

  Ответить  
Rambler's Top100
вверх

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