|
|
|
|
|
для: Rolex
(29.01.2010 в 01:44)
| | Проблему решил . Вот код может кому то пригодиться .
Кстати счетичк при таком решении начал работать правильно и показывать результаты за 7 и 30 дней
///////////////////////////////////////////////////
// Архивируем информацию в ежедневные таблицы
///////////////////////////////////////////////////
archive_client ($tbl_ip, $tbl_arch_clients);
archive_hit_hosts ($tbl_ip, $tbl_arch_hits);
archive_robots ($tbl_ip, $tbl_arch_robots);
archive_num_searchquery ($tbl_searchquerys, $tbl_arch_num_searchquery);
archive_searchquery ($tbl_searchquerys, $tbl_arch_searchquery);
archive_refferer ($tbl_refferer, $tbl_arch_refferer);
archive_ip ($tbl_ip, $tbl_arch_ip);
archive_enterpoints ($tbl_ip, $tbl_pages, $tbl_arch_enterpoint);
archive_time ($tbl_ip, $tbl_arch_time, $tbl_arch_time_temp);
archive_deep ($tbl_ip, $tbl_arch_deep);
///////////////////////////////////////////////////
// Удаляем старые записи
///////////////////////////////////////////////////
$query = "SELECT MAX(putdate) FROM $tbl_arch_hits";
$arh = mysql_query($query);
if(!$arh) exit("Сбой при удалении старых записей");
if(mysql_num_rows($arh) > 0)
{
$last_date_arch = mysql_result($arh,0);
// Выводим дату на 30 дней назад и записуем ее в переменную
// забирает текущее время в массив
$timestamp = time();
$date_time_array = getdate($timestamp);
$hours = $date_time_array['hours'];
$minutes = $date_time_array['minutes'];
$seconds = $date_time_array['seconds'];
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];
// используйте mktime для обновления UNIX времени
// Вычтем 30 дней из $day
$timestamp = mktime($hours,$minutes,$seconds,$month,$day-30,$year);
$tday = strftime('%Y-%m-%d',$timestamp);
//////////////////////////////////////////////////
// здесь переменную из исходного кода разработчиков $last_date_arch меняем на свою $tday которая удалает из таблиц записи старее 30 дней
$arr[] = "DELETE FROM $tbl_ip WHERE putdate <= '$tday'";
$arr[] = "DELETE FROM $tbl_refferer WHERE putdate <= '$tday'";
$arr[] = "DELETE FROM $tbl_searchquerys WHERE putdate <= '$tday'";
foreach($arr as $query)
|
| |
|
|
|
|
автор: Тень (29.01.2010 в 10:02) |
|
|
для: sim5
(29.01.2010 в 09:43)
| | Почему это не все? | |
|
|
|
|
|
|
|
для: sergio433
(28.01.2010 в 22:57)
| | Вы определили место, а посмотреть значение переменной, как и где она определяется, толи не захотели, толи испугались. А стоит посмотреть, и ваша задача будет решена. | |
|
|
|
|
|
|
|
для: Тень
(29.01.2010 в 09:40)
| | Так я же говорю, мануал нужно читать и рекомендации. Что же вы батенька не все файлы обработали, как говорилось выше? | |
|
|
|
|
автор: Тень (29.01.2010 в 09:41) |
|
|
для: Тень
(29.01.2010 в 09:40)
| | Ах, вот они, вот они эти минусы анонимного пользования. | |
|
|
|
|
автор: Тень (29.01.2010 в 09:40) |
|
|
для: sim5
(29.01.2010 в 09:35)
| | Как всегда пришлось искать решение самому! Сделал патч:.
В htaccess добавил
php_value "auto_prepend_file" "/path/patch.php"
|
Файл patch.php
[code]<?php
exit;
?>[code]
Всё OK! | |
|
|
|
|
|
|
|
для: Тень
(29.01.2010 в 08:20)
| | Ах да, виноват. Надо полагать, что вы опустили четвертый аргумент функции, потому и проблема. | |
|
|
|
|
автор: Тень (29.01.2010 в 08:20) |
|
|
для: sim5
(29.01.2010 в 07:41)
| | Я призываю Вас чётко давать советы новичкам! | |
|
|
|
|
|
|
|
для: Тень
(29.01.2010 в 03:33)
| | Почитать мануал внимательно - при правильном применении этого метода, все должно быть девственно чистым ;-) | |
|
|
|
|
автор: Тень (29.01.2010 в 03:33) |
|
|
для: sim5
(29.01.2010 в 02:16)
| | Я воспользовался Вашим советом и получил Parse error :((((( Что делать? | |
|
|
|
|