Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
1

Вывод даты по порядку блоков

25.03.2014, 23:09. Показов 1075. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Прошу помощь с решением проблемы вывода даты. В имеется 5 столбца. id, name, success, date, position. Есть файл отвечающий за вывод данных. Выводятся данные из столбца name а также две кнопки.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    if($_GET['action']=='delete'){
    $query_delete = mysql_query("delete from dialer where id = ".$_GET['delete_data']);
    if($query_delete) {echo '<div class="activity_true">Удаление прошло успешно</div><br>';}
    else {echo '<div class="activity_false">Ошибка при удалении</div><br>';}
    }
    if($_GET['action']=='zero'){
    $qr_zero = mysql_query ("UPDATE dialer SET  success='1' WHERE id='".$_GET['edd']."'");
    if($qr_zero) {echo '<div class="activity_true">Апдейт удался</div><br>';}
    else {echo '<div class="activity_false">Апдейт не удался</div><br>';}
    }
    $qr_result = mysql_query("select * from `dialer` WHERE `success`='0'")
    or die(mysql_error());
    while($data = mysql_fetch_array($qr_result)){ 
 
        echo '<div class="table_div"><a class="update_item" href="update_forma.php?edd='.$data['id'].'">' . $data['name'].'</a>';
        echo '<a class="del_item" href="?delete_data='.$data['id'].'&action=delete" onClick="if(!confirm(\'Удалить?\'))return false;"><img src="images/delete_item.jpg"></a>';
        echo '<a href="?edd='.$data['id'].'&action=zero" class="success_item"><img src="images/siccess_item.jpg"></a>';
        echo '</div>';
    }
 
?>
Нужно чтобы блоки выводились по дате относительно сегодняшней. Те блоки у которых дата будущая они не должны выводиться с сегодняшней датой выводились вверху и дальше дата бы шла по убыванию. Объясните пожалуйста как это реализовать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2014, 23:09
Ответы с готовыми решениями:

При выборе даты в календаре - заполнять ячейки по порядку до определенной даты и рядом высвечивать день недели
Здравствуйте. Нужна ваша помощь. В программе есть написанный на VBA календарь. нужно написать код,...

Вывод даты из базы и подсчет строк где втстречаются эти даты
В таблице mysql есть поле где хранится дата. и это дата встречается в этой таблице по несколько...

Надо дописать!Ассемблер вывод системной даты,времени и даты ближайшего воскресенья
вот исходный код .Model Small .486p .Stack 100h .Data wNumOff DW 10 Dup(0) ;Смещение...

Вывод системной даты, времени и даты ближайшего воскресенья
вот исходный код выводит дату время .Model Small .486p .Stack 100h .Data wNumOff DW 10...

17
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
27.03.2014, 01:38  [ТС] 2
Что неужели не кто не может помочь с выводом дат по порядку
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
27.03.2014, 12:30 3
объясните нормально, как 8-ему ребенку, что вы хотите сделать. Ибо постановка проблема довольно расплывчата
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
27.03.2014, 12:52  [ТС] 4
AmsTaFFix, есть база данных. из нее делается выборка данных
PHP
1
 $qr_result = mysql_query("select * from `dialer` WHERE `success`='0'")
далее ийдет вывод этих данных в том порядке как они расположены в БД
PHP
1
while($data = mysql_fetch_array($qr_result)){
. . .

Вбазе есть стобец name и datе дак вот нужно чтобы после выборки данные выводились в сооветствии с датой(а не так как расположены в БД) т.е. строка с датой 25.08.2012 былоб бы выше строки с 25.02.2012.
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
27.03.2014, 15:49 5
PHP
1
$qr_result = mysql_query("select * from `dialer` WHERE `success`='0' ORDER BY `date` DESC")
попробуйте так
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
27.03.2014, 16:12  [ТС] 6
AmsTaFFix, Почти работает, он ставит приоритет в число потом месяц затем год.
а нужно наоборот год месяц день. Вот скрин, как отображает

Вывод даты по порядку блоков


Второй элемент должен быть на пред последней позиции...

Можно как нибудь это поправить
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
27.03.2014, 23:05 7
в каком формате у вас дата? какой тип столбца в таблице?
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
28.03.2014, 03:43  [ТС] 8
AmsTaFFix, Текстовый. Т.к. если поставить значение поля DATE, то маска ввода задаваемая базой в этом поле будет: год-месяц-день,
а мне нужно было чтобы было день.месяц.год. Как поменять ее в базе без jquary я не знаю. А использовать jqury в данной ситуации нельзя.

Поэтому сделал текстовый
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
28.03.2014, 10:58 9
Цитата Сообщение от antidemon92 Посмотреть сообщение
Т.к. если поставить значение поля DATE, то маска ввода задаваемая базой в этом поле будет: год-месяц-день, а мне нужно было чтобы было день.месяц.год.
а не проще хранить в БД, как она захочет, а самому выводить данные как захочется, используя специальные классы, типа Date в JS и DateTime в PHP

что ещё за jquary c jqury?

Цитата Сообщение от antidemon92 Посмотреть сообщение
Поэтому сделал текстовый
и зря
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
28.03.2014, 13:08  [ТС] 10
AmsTaFFix, ну дак если я в инпути ввожу дату 21.03.2014 он в базу ее закидывает вот так 2103-20-14

Добавлено через 7 минут
Если поле DATE стоит. Я не так давно с базами стал работать, поэтому многое не знаю. и как из поля инпут с маской дд.мм.гггг корректно занести эти данные в базу с маской гггг-дд-мм. И потом так же из базы с такой маской вывести на инпут
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
28.03.2014, 13:15 11
во время записи в БД, вы можете распарсить дату и создать затем новую необходимого формата
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
28.03.2014, 13:59  [ТС] 12
AmsTaFFix, и как это сделать...
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
28.03.2014, 16:48 13
блин, хотел написать много, но напишу мало.
Покажу первый способ:
PHP
1
2
$datePieces = explode('.',$_GET['date']);
var_dump($datePieces);
посмотрите на вывод и вы поймете каков результат. Дальше из этих частей можно создать дату с помощью mktime()... но это все черные, но рабочие варианты. Буду посвежее, предложу получше вариант.
1
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
28.03.2014, 18:18  [ТС] 14
Спасибо очень помогло все заносится и выводится как нужно. А еще такой вопрос ну я объясню на примере так проще. предположим есть 5 строк и они выводятся у меня в таком порядке:
31.03.2014
30.03.2014
29.03.2014
28.03.2014
27.03.2014

Допусти сегодня 28.03.2014. Дак вот, нужно чтобы даты идущие после сегодняшней(после 28.03.2014),а это в нашем случае 29,30 и 31.03.2014 скрывались.

Добавлено через 3 минуты
это нужно поставить условие из 3 частей: каждый элемент массива сравнить с соответствующим элементом date('d'),date('m')date('Y) и если условия выполняется выводить, но почему то на деле не выходит
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
31.03.2014, 10:55 15
Цитата Сообщение от antidemon92 Посмотреть сообщение
это нужно поставить условие из 3 частей: каждый элемент массива сравнить с соответствующим элементом date('d'),date('m')date('Y) и если условия выполняется выводить, но почему то на деле не выходит
Ох, сейчас не вспомню как там красиво даты сравнивать, но скажу один способ. Вы можете создать из даты unixTime, что есть дата в в виде числа (кол-во секунд, прошедшее с 1970 года). Так вот получившиеся числа вы можете очень просто сранивать
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
01.04.2014, 03:52  [ТС] 16
AmsTaFFix, Хм а как тогда сравнивать с сегодняшним днем он же всегда разный. Ну чтобы скрыть те посты которые еще не наступили.
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
01.04.2014, 10:54 17
ну смотрите
TimeStamp завтрашнего дня будет больше timeStamp'a сегодняшего
86400 - вроде кол-во секунд в сутках (могу ошибаться)
PHP
1
2
3
$timeStampOfTomorrow = time()+86400;
$timeStampOfAfterTomorrow = time()+86400*2;
$timeStampOfToday = time();
0
1 / 1 / 6
Регистрация: 29.11.2013
Сообщений: 233
01.04.2014, 21:24  [ТС] 18
AmsTaFFix, Спасибо. На днях попробую реализовать все это дело) щас пока другим занят
0
01.04.2014, 21:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2014, 21:24
Помогаю со студенческими работами здесь

Вывод даты в ясейку Excel в формате даты
Здравствуйте. Пытаюсь вывести из табличной части обработки 1с дату в ячейку Excel: Лист.Cells(Стр...

Сделать вывод по порядку
Здравствуйте! есть готовый код(он рабочий) вывод номера товара осуществлен через количество...

Вывод месяцев не по порядку
Здравствуйте. Запросом вывожу месяцы из таблицы, но ноябрь втисался в середину. Что не так? ...

Вывод цифр по порядку
Облазил все,никак не могу найти. Хочу сделать,чтобы при нажатии на кнопку,в лэйбле выводились...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru