Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Dyudka
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
1

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

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

У меня появилась потребность в статистике журналистов,нашел готовый скрипт,изменил под себя,все выводится отлично,но мне нужно сделать так чтобы я мог с клавиатуры вводить дату и поиск в базе проходил именно от даты которую я ввожу
Кликните здесь для просмотра всего текста
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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 16:30
Ответы с готовыми решениями:

Поиск по базе данных + постраничный вывод данных
Привет всем! в общем с поиском данных всё нормально! но не работает постраничный вывод ((( не знаю,...

Поиск по базе данных
В базе данных таблица, в которой поля Имя, Фамилия, Дата Рождения, Пол и т.д. Помогите сделать...

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

Поиск в базе данных
Добрый вечер! Допустим у меня есть 2 или 3 или 4 (без разницы) таблиц в базе данных... у нас есть...

Поиск по базе данных
имеется таблица, в ней поля id, author, poluchatel как мне найти в поле author совпадение с...

7
Dyudka
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
03.12.2013, 23:25  [ТС] 2
Помогите пожалуйста,это срочно.
0
m1ndgr3p
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
04.12.2013, 02:32 3
Добавь еще инпут в котором ты будешь указывать дату, и в запросе измени переменную на ту в которой ты будешь получать дату.
1
Dyudka
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
04.12.2013, 19:21
m1ndgr3p
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
Dyudka
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
05.12.2013, 11:55  [ТС] 6
Так просто я ввожу дату в формате y-m-d мой скрипт работает,а в d-m-y нет.
0
m1ndgr3p
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
06.12.2013, 00:15 7
ты используешь SYSDATE(), в запросах мускула - у него формат y-m-d, каким образом ты пишешь дату в таблицы мускула - представления не имею. Если ты хочешь удобный формат даты тебе нужно определять ее самостоятельно и записывать в БД или юзать ее в запросах для мускула.
0
Dyudka
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 13
16.12.2013, 12:33  [ТС] 8
Так и не разобрался до конца.Можна кодом присвоение значения переменной?
0
16.12.2013, 12:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 12:33

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

Поиск в базе данных
Имеется таблица tovar $strSQL = &quot;SELECT * FROM tovar; В ней имеется колонка названия(nazvanie),...

Поиск в базе данных
Приветствую всех. Имею таблицу в ней 5 столбцов: HWID Key Nick Skype Reg Нужно произвести поиск...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.