Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
SQL запрос PHP
#1
Доброго времени суток.
пишу сайт для себя, всё работает, но хочу кое-что добавить...
Столкнулся со след. проблемой:
Имеется переменная даты
$day = date("d.m.y");
и сам запрос в MySQL
$res = mysql_query ("SELECT * FROM rt WHERE day = '$day' AND worked = '1' ORDER BY date, adr, adrk, ls", $db);
соответственно при добавлении в базу, дата записывается в формате х.х.х
хотелось бы узнать, возможно-ли сделать так, чтобы в переменной day значение d не учитывалось ? то есть отображались данные не за текущий день, а за месяц, не меняя структуру SQL таблицы.
Ответ
#2
Проще создать новую переменную формата ("m.y"); и изменить запрос, либо разделить дату на 3 переменных. Не?
Ответ
#3
Проще, но не хотелось бы добавлять в sql таблицу over9999 колонку...
Ответ
#4
Создавайте колонки с соответствующими типами для дат: date, datetime, timestamp.
И после выводите в любом нужном вам формате с помощью DATE_FORMAT.
Читайте мануалы.
Либо обоснуйте причину не изменять тип колонки.
Личный кабинет под любую игру или множество игр. Система мастер аккаунтов. Для серьезных клиентов. Связь - ПМ.
Ответ
#5
попробуйте поиграться с оператором LIKE, т.е. будет что-то вроде
Код:
$day = date("m.y");
а в запросе
Код:
WHERE `day` LIKE '__.$day'
Ответ
#6
А не проще писать дату в юниксе, а потом выводить и форматировать, как тебе удобно?
Ответ
#7
Помоему это самое правильное решение.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#8
Apoloser Написал:А не проще писать дату в юниксе, а потом выводить и форматировать как тебе удобно?
конечно проще, но ТС лёгких путей не ищет видимо =)
Ответ
#9
Ну что-то вроде того
Код:
$query = mysql_query("SELECT * FROM `rt` WHERE `worked` = '1' ORDER BY `date`, `adr`, `adrk`, `ls`");

while ($row = mysql_fetch_assoc($query))
{
     if ($row['day'] + 2678400 < time()) // Если значение из таблицы + 1 месяц меньше, чем время на данный момент, продолжаем
     {
          
          /// код ///
          
     }
}
Ответ
#10
Zubastic;316044 Написал:Помоему это самое правильное решение.
Правильное решение - это использовать предназначенные для этого функции и типы mysql, благо такие имеются. Тут даже спорить нет смысла.

Twinker;316076 Написал:Ну что-то вроде того
Этот код - ужасен, хоть и столь мал. Можно обойтись правильным mysql запросом и не делать глупые проверки.
Личный кабинет под любую игру или множество игр. Система мастер аккаунтов. Для серьезных клиентов. Связь - ПМ.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  mysql запрос APKO 38 10,342 03-27-2012, 03:22 PM
Последний пост: x3k
  Запрос Extez1 6 2,390 02-06-2012, 08:09 PM
Последний пост: Extez1
  Помогите написать запрос Gambit_J 16 4,328 10-10-2011, 12:31 PM
Последний пост: Gambit_J
  PHP Запрос. PuShKinG 7 4,325 04-13-2010, 09:01 AM
Последний пост: Cool_prime

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)