0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
1

Поиск по дате в базе данных

02.12.2013, 16:30. Показов 2900. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня появилась потребность в статистике журналистов,нашел готовый скрипт,изменил под себя,все выводится отлично,но мне нужно сделать так чтобы я мог с клавиатуры вводить дату и поиск в базе проходил именно от даты которую я ввожу
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
                                            // Date range
                                                $f          = '';
                                                $datesearch 
                                                $href = $_SERVER['REQUEST_QUERY'];
                                                $raz = "?";
                                                
                                                list ($pag, $limit) = dr_pagination($perpage, $count, $href . $raz);
                                                $row = $mysql->query("select distinct u.id, name, sum(distinct news) as s, sum(n.com) as s_c,
                                                                        sum(distinct n.views) as c_v, adddate(SYSDATE(),-1) AS SD
                                                                        from ng_users as u,  ng_news as n
                                                                        WHERE u.id=n.author_id and (from_unixtime(postdate) > '$datesearch') 
                                                                        and (from_unixtime(postdate) < (adddate(SYSDATE(),1)))
                                                                        group by u.id, name");
                                                
 
                                                    $output = " <table width='100%' border='0' cellpadding='5' cellspacing='0'>"; 
                                                    $output .=  "<form name='search' method='post' action=''>
                                                                <input type='search' name='query' placeholder='Поиск''>
                                                                <button type='submit'>Найти</button> 
                                                                </form> ";
                                                    $output = 
                                                    $output .= "<tr>
                                                    <th colspan='6' style='$class3'>Пользователи</th>
                                                    </tr>
                                                             <tr>
                                                            <th width='30%' style='$class1'>Имя</th>
                                                            <th width='30%' style='$class1'>Статус</th>
                                                            <th width='20%' style='$class1'>Новостей</th>
                                                            <th width='20%' style='$class1'>Комментариев</th>
                                                            <th width='20%' style='$class1'>Просмотров</th>
                                                            <th width='20%' style='$class1'>Зарегистрирован</th>
                                                        </tr>";
                                                    while($bos = mysql_fetch_array($row)) {
                                                        $username = $bos['name'];
                                                        switch ($userstatus = $bos['status']) {
                                                            case 1:
                                                            $userstatus = "Администратор";
                                                            break;
                                                            case 2:
                                                            $userstatus = "Редактор";
                                                            break;
                                                            case 3:
                                                            $userstatus = "Журналист";
                                                            break;
                                                            case 4:
                                                            $userstatus = "Пользователь";
                                                            }
                                                        $usernews = $bos['s'];
                                                        $usercom = $bos['s_c'];
                                                        $userviews = $bos['c_v'];
                                                        $userreg = date((extra_get_param('userlist','fdate')=='')?"d-m-Y":extra_get_param('userlist','fdate'), $bos['reg']);
                                                        
                                                        $output .= "<tr>";
                                                        $alink = checkLinkAvailable('uprofile', 'show')?
                        generateLink('uprofile', 'show', array('name' => $bos['name'], 'id' => $bos['id'])):
                        generateLink('core', 'plugin', array('plugin' => 'uprofile', 'handler' => 'show'), array('name' => $bos['name'], 'id' => $bos['id']));
                        $output .= "<td style='$class2'><a href='http://{$_SERVER['SERVER_NAME']}".$alink."'>$username</a></td>";
                                                        
                                                        $output .= <<<HTML
                                                            <td style='$class2'>$userstatus</td>
                                                            <td style='$class2'><div align="center">$usernews</div></td>
                                                            <td style='$class2'><div align="center">$usercom</div</td>
                                                            <td style='$class2'><div align="center">$userviews</div</td>
                                                            <td style='$class2'>$userreg</td>
                                                        </tr>
HTML;
                                                        }
                                                        $output .= "</table><br>";
                                                        $output .= $pag;
                                                    $template['vars']['mainblock'] = $output;
}

Вот мой кусок кода где есть поисковая форма и вывод данных с базы.Если ктото может дописать так чтобы я дату $datesearch в запросе вводил с клавиатуры и по этой переменной происходил поиск.Буду очень благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2013, 16:30
Ответы с готовыми решениями:

Поиск по дате в базе данных, выбранной из выпадающего списка
второй день экспериментирую, но ничего не получается, может кто подскажет заполняю выпадающий...

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

Запросс к базе данных с сортировкой по дате
Следующий запросс выводит предстоящие события. $feat_query =...

Запрос к базе данных Access с выборкой по дате
Здравствуйте, никак не получается сделать запрос к БД ACCESS с выборкой по дате, мучаюсь уже не...

7
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
03.12.2013, 23:25  [ТС] 2
Помогите пожалуйста,это срочно.
0
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
04.12.2013, 02:32 3
Добавь еще инпут в котором ты будешь указывать дату, и в запросе измени переменную на ту в которой ты будешь получать дату.
1
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
04.12.2013, 19:21  [ТС] 4
Тоесть я добавляю значение в input value='$datesearch'??

Добавлено через 23 минуты
Извините недопонял,как мне присвоить значению поля input переменную?

Добавлено через 4 часа 52 минуты
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$date1 = isset($_POST['datesearch'])?$_POST['datesearch']:'';       
                                                $row = $mysql->query("select distinct u.id, name, sum(distinct news) as s, sum(n.com) as s_c,
                                                                        sum(distinct n.views) as c_v, adddate(SYSDATE(),-1) AS SD
                                                                        from ng_users as u,  ng_news as n
                                                                        WHERE u.id=n.author_id and (from_unixtime(postdate) > '$date1') 
                                                                        and (from_unixtime(postdate) < (adddate(SYSDATE(),1)))
                                                                        group by u.id, name");
                                                                                    
$output .= "<form name='datesearch' method='post' action=''>
                                                                <input type='date' name='query' placeholder='Поиск'>
                                                                <button type='submit'>Найти</button>
                                                                </form> ";

Вот чтото такое получилось но все равно не работает.

Добавлено через 21 минуту
Еще вопрос по этой теме: Дата вводится в формате d-m-y а мускул воспринимает только y-m-d.Что с этим делать?
0
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
05.12.2013, 02:33 5
Цитата Сообщение от Dyudka Посмотреть сообщение
Тоесть я добавляю значение в input value='$datesearch'??
Не в value, а в name=datesearch.

Цитата Сообщение от Dyudka Посмотреть сообщение
Извините недопонял,как мне присвоить значению поля input переменную?
Наоборот, переменной - значение, поля, input.

Цитата Сообщение от Dyudka Посмотреть сообщение
PHP
1
$date1 = isset($_POST['datesearch'])?$_POST['datesearch']:'';
Простите, как-то накручено уж... Если таким костылем решать вопрос - лучше убрать isset().
Цитата Сообщение от Dyudka Посмотреть сообщение
Еще вопрос по этой теме: Дата вводится в формате d-m-y а мускул воспринимает только y-m-d.Что с этим делать?
Мускул хавает все! Если он работает с timestamp()'ом то не значит, что он не будет делать выборку по нужным критериям)))
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
05.12.2013, 11:55  [ТС] 6
Так просто я ввожу дату в формате y-m-d мой скрипт работает,а в d-m-y нет.
0
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
06.12.2013, 00:15 7
ты используешь SYSDATE(), в запросах мускула - у него формат y-m-d, каким образом ты пишешь дату в таблицы мускула - представления не имею. Если ты хочешь удобный формат даты тебе нужно определять ее самостоятельно и записывать в БД или юзать ее в запросах для мускула.
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
16.12.2013, 12:33  [ТС] 8
Так и не разобрался до конца.Можна кодом присвоение значения переменной?
0
16.12.2013, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2013, 12:33
Помогаю со студенческими работами здесь

Как по дате в календаре найти нужную запись в Базе данных
Помогите, пожалуйста! Есть форма в которой установлен объект Календарь. Необходимо по клику по дню...

Поиск данных по дате
Здравствуйте. Пишу БД на Delphi используя SQLite. В программе сделала поиск по дате, использую для...

Поиск данных по дате и времени
Привет, у меня есть четыре DateTimePicker на форме (дата и время) как мне по запросу сделать так...

Поиск в ADoquery, Delphi, поиск в базе данных
Доброго времени суток многоуважаемые пользователи данного сайта! Есть очень глупая проблема, с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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