| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Вывод всех строк за этот месяц |
| Автор: jone31 18.11.2009, 19:12 |
| подскажите, как вывести из БД записи за этот месяц. В бд есть столбец time(timestamp) который отвечает за дату добавления. |
| Автор: Ипатьев 18.11.2009, 19:17 |
| вообще-то, к РНР этот вопрос не имеет никакого отношения. Это чистый SQL. Вы когда-нибудь составляли запросы с оператором WHERE? |
| Автор: jone31 18.11.2009, 19:25 | ||
да, но как мне написать на php запрос что бы например вывести в интервале месяца
как в запросе написать интервал: 2009-11-01 00:00:00 - 2009-11-31 24:00:00 ? |
| Автор: Ипатьев 18.11.2009, 19:28 |
| ну, во-первых, можно писать не равенство, а интервал. скажем, вы можете в РНР получить дату первого числа следующего месяца и последннего числа предыдущего? во-вторых, чтобы писать равенство, лучше хранить не unix time, а дату во встроенном формате mysql, для которого есть множество функций преобразования |
| Автор: jone31 18.11.2009, 19:34 |
| если писать не равенство то их получиться два, ведь насколько мне известно с двойными неравенствами не дружит. |
| Автор: ruX 18.11.2009, 19:39 | ||
мой вариант
аналогично можно было на пхп подсчитать начало месяца в юникстайм и подставить |
| Автор: Ипатьев 18.11.2009, 19:40 |
| Кто не дружит? И почему два? Два двойных имеется в виду? В этом нет ни малейшей нужды. просто сравнить дату, чтобы она ыла больше последнего дня предыдущего месяца и меньше первого для следующего. два сравнения |
| Автор: ruX 18.11.2009, 19:40 | ||
Вам не правильно известно |
| Автор: jone31 18.11.2009, 20:05 | ||||
что то здесь не так:
|
| Автор: bars80080 18.11.2009, 20:19 | ||
одной скобки не хватает
|
| Автор: jone31 18.11.2009, 20:26 | ||
да, я уже заметил, но та же ошибка. Тут выражение UNIX_TIMESTAMP неверно записано. Добавлено через 1 минуту и 30 секунд эт разве не одно и тоже? Добавлено через 5 минут и 35 секунд мне наверно лучше будет из всех записей выбрать нужные при помощи php. |
| Автор: Ипатьев 18.11.2009, 20:38 |
| нет, не лучше. так вообще никогда не надо делать если возникают такие идеи, то лучше совсем ничего не делать, а найти себе какое-нибудь другое занятие. |
| Автор: jone31 18.11.2009, 20:39 | ||
почему ты так считаешь? |
| Автор: Pitlord 18.11.2009, 20:48 |
http://dev.mysql.com/doc/refman/5.0/en/datetime.html |
| Автор: Ипатьев 18.11.2009, 20:56 |
протому что это букварь, начальная школа. это как законы физики. База данных служит для хранения и обработки информации. Она для этого предназначена. У нее есть тысяча механизмов, предназначенных для решения этой задачи. Это как роторный экскаватор при добыче угля. База может легко обработать миллион строк и выдать одну нужную. Все операции по работе с данными должны быть возложены на базу. Пхп должентолько получить результат и отдать его пользователю. А перенося задачу поиска в клиентское приложение (пхп выступает по отношению к базе как клиент), мы возвращаемся в первобытный строй, с каменными скребками. пхп умрет на десятке тысяч. он совсем для другого предназначен. Я понимаю, что сейчас событий в базе не 10 тысяч. Но это все равно не повод делать неправильно. Этот кусок кода так и останется, и в какой-то момент уронит всю систему. |
| Автор: jone31 18.11.2009, 20:59 | ||
частично с тобой согласен, но иногда нужно выходит из положения способом который знаешь. |