|
|
|
| нашел в отчете косяк запросы к базе
SELECT id_page, min( putdate ) FROM ip WHERE putdate < DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 0 DAY AND putdate >= DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 1 DAY GROUP BY ip
|
и
SELECT id_page, max( putdate ) FROM ip WHERE putdate < DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 0 DAY AND putdate >= DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL 1 DAY GROUP BY ip
|
выдают в столбец id_page одинаковые результаты, хотя, в остальных колонках вроде все правильно.
Ошибка в синтаксисе? | |
|
|
|
|
|
|
|
для: Loki
(19.04.2005 в 17:04)
| | А в смысле выдаются одинаковые результаты?
PS Это продолжение темы
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3214 | |
|
|
|
|
|
|
|
для: cheops
(19.04.2005 в 21:18)
| | То и значит, что столбцы id_page полученные при помощи этих запросов идентичны. То есть группировка по ip происходит, минимальная дата выбирается, а вот id_page выбирается первый попавшийся для данного ip. Так как я не силен в sql запросах, то не могу его поправить сам (из тех комбинаций что знал уже попробовал все:). Пытаюсь придумать другой алгоритм, но пока в голову приходят довольно громоздкие основанные на практически полном переборе, что не есть гут. | |
|
|
|
|
|
|
|
для: Loki
(19.04.2005 в 21:51)
| | Да с GROUP BY имеется такая неприятная штука, пожалуй придётся в цикле извлекать id_page используя ранее полученную дату и ip-адрес. | |
|
|
|
|
|
|
|
для: cheops
(19.04.2005 в 22:15)
| | Подправил скрипт. теперь вроде наконец-то работает:) | |
|
|
|
|
|
|
|
для: Loki
(23.04.2005 в 00:44)
| | Прочёл я ветку от начала до конца задумка очень хорошая у себя установил потестил пришёл к выводу что у меня оно что то не пашет и я в упор не пойму а нафига в 78 строке print $query_points; выводить там же запрос к базе идёт ? Был бы очень признателен если бы поделились работающим изделием потому что весч действительно стоящая | |
|
|
|
|
|
|
|
для: sata
(23.04.2005 в 16:22)
| | Склероз:)
Забыл убрать после отладки.
Не работает скорее всего потому, что у меня учет ведется по названиям страниц, а не по их адресам (точнее, и по тому и по другому). Cheops грозился в следующей версии сделать так же, но похоже что так и не решиться, а мне поддерживать две версии особого интереса нет.
Попробую навскидку подсказать что нужно поправить:
$names[($p_names['id_page'])]['title']=$p_names['title'];
|
в строке 94 закомментировать, так как у вас такого столбца нет.
В строке 112
print "<tr><td><a href=http://".$_SERVER["SERVER_NAME"].$names[$id]['name']." target=_blank>".$names[$id]['title']."</a></td><td>".$hits."</td><tr>";
|
заменить на
print "<tr><td><a href=http://".$_SERVER["SERVER_NAME"].$names[$id]['name']." target=_blank>http://".$_SERVER["SERVER_NAME"].$names[$id]['name']."</a></td><td>".$hits."</td><tr>";
|
в строке 126
print "<tr><td><a href=http://".$_SERVER["SERVER_NAME"].$zero['name']." target=_blank>".$zero['title']."</a></td><td>0</td><tr>";
|
заменить на
print "<tr><td><a href=http://".$_SERVER["SERVER_NAME"].$zero['name']." target=_blank>http://".$_SERVER["SERVER_NAME"].$zero['name']."</a></td><td>0</td><tr>";
|
Вроде должно заработать. | |
|
|
|