|
|
|
|
|
для: pegas
(19.04.2006 в 08:14)
| | условие
AND date < '".$q['date']."' -> если выкинуть это и...
AND date > '".$q['date']."' + INTERVAL 30 MINUTE
|
у вас никогда не выполнится, так как date должно быть одновременно и меньше даты и больше этой же даты + 30 мин. | |
|
|
|
|
|
|
|
для: Pegas
(18.04.2006 в 08:44)
| | Собственно вот что у меня вышло, из этого видно что конкретно я хочу.
Но не работает так как надо.
$idusers = 1;
$idigrok = 1;
// определяем кол-во записей минус 1
$query = "SELECT *
FROM army
WHERE id_users = '".$idusers."'
AND id_igrok = '".$idigrok."'
AND uchet = '1';";
$query = mysql_query($query);
if (!$query) exit("Ошибка баз данных.");
$qr = mysql_num_rows($query);
$qr = (int)$qr-1;
// проверяем даты на интервал в 30 мин
for ($i = 1; $i <= $qr; $i++)
{
$query = "SELECT *
FROM army
WHERE id_users = '".$idusers."'
AND id_igrok = '".$idigrok."'
AND uchet = '1'
ORDER BY 'date' DESC
LIMIT 1,".$i.";";
$query = mysql_query($query);
if (!$query) exit("Ошибка баз данных.");
$q = mysql_fetch_array($query);
$query = "SELECT *
FROM army
WHERE id_users = '".$idusers."'
AND id_igrok = '".$idigrok."'
AND uchet = '1'
AND date < '".$q['date']."' -> если выкинуть это и...
AND date > '".$q['date']."' + INTERVAL 30 MINUTE
ORDER BY 'date' DESC
LIMIT 1,".$ii.";"; -> ...это то работает но не так как надо...
$query = mysql_query($query);
if (!$query) exit("Ошибка баз данных.");
$q = mysql_fetch_array($query);
echo $q['date']."</br>";
}
|
| |
|
|
|
|
|
|
|
для: pegas
(18.04.2006 в 13:56)
| |
DELETE FROM table WHERE putdate<NOW() - INTERVAL 30 MINUTE
|
| |
|
|
|
|
|
|
|
для: cheops (из кафе)
(18.04.2006 в 13:36)
| | Нет.... не то я наверное не так вырозился.
Еще раз.
Есть допустим 500 записей в таблице и пользователи постоянно добавляют записи в нее, с различным временем. И надо из этих записей регулярно отбрасывать записи между которыми прошло менее 30 мин.
Получается что привязки к кокомуто конкретному времени нет....... | |
|
|
|
|
автор: cheops (из кафе) (18.04.2006 в 13:37) |
|
|
для: cheops (из кафе)
(18.04.2006 в 13:36)
| | Хотя у вас тип DATETIME, значит вместо '12:00:00' будет что-то вроде '2006-04-18 12:00:00' | |
|
|
|
|
автор: cheops (из кафе) (18.04.2006 в 13:36) |
|
|
для: pegas
(18.04.2006 в 12:39)
| | Тогда можно поступить примерно так
SELECT * FROM tbl WHERE date < '12:00:00' AND date > '12:00:00' + INTERVAL 30 MINUTE
|
и
SELECT * FROM tbl WHERE date < '12:00:00' AND date > '12:00:00' + INTERVAL 5 MINUTE
|
| |
|
|
|
|
|
|
|
для: cheops (из кафе)
(18.04.2006 в 12:07)
| | начало интервала будет задоваться. допустим в 12,00. | |
|
|
|
|
|
|
|
для: cheops (из кафе)
(18.04.2006 в 12:07)
| | потерто | |
|
|
|
|
автор: cheops (из кафе) (18.04.2006 в 12:07) |
|
|
для: pegas
(18.04.2006 в 09:44)
| | Нужно начало интервала - когда он начинается в полночь или в 14 часов текущего дня? | |
|
|
|
|
|
|
|
для: cheops (из кафе)
(18.04.2006 в 09:21)
| | Интервал времени задается жестко т.е. 30 мин и 5 мин.
В поле date пользователь время заносит сам, поэтому и нада отслеживать не вышел ли он за рамки допустимого по времени :) | |
|
|
|
|