ФорумРазработкаБазы данных → Информация о посетителях

Информация о посетителях

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 7:05

    Здравствуйте.
    Есть база
    ip page count
    ip - айпи адрес посетителя
    page - страница с которой он зашел
    count - количество раз которое он зашел с данной страницы

    Как сделать так,что бы если посетитель зашел с,(допустим yandex.ru),то записалось так
    [table]
    [tr][td]ip   [/td]     [td]  page   [/td]       [td]count [/td] [/tr]
    [tr][td]0.0.0.1 [/td] [td] yandex.ru[/td]     [td]1[/td][/tr]
    [/table]
    если зашел с google.ru то записалось бы так
    ip           page         count
    0.0.0.1  yandex.ru       1
    0.0.0.1  google.ru        1

    если опять с yandex.ru то

    ip           page         count
    0.0.0.1  yandex.ru       2
    0.0.0.1  google.ru        1

    Надеюсь мысль понятна.
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 7:11, спустя 6 минут 39 секунд

    По-моему, тут придется делать два запроса: Проверяем, есть ли указанный поисковик в БД. Если есть, то инкрементируем значение (увеличиваем на 1). Если нет, то добавляем еще один поисковик.
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 7:14, спустя 2 минуты 38 секунд

    А вообще как делают статистику о посетителях??
    Как я, или так
    ip page
    0.0.0.1 yandex.ru
    0.0.0.1 google.ru
    0.0.0.1 yandex.ru
    А потом просто считают сколько раз yandex.ru ,сколько google?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 9:16, спустя 2 часа 1 минуту 26 секунд

    Сделал вот так..
    $query4 ="UPDATE `info` SET count=count+1 WHERE product='".$name."' AND page='".$matches[1]."'  AND  ip='".$_SERVER['REMOTE_ADDR']."' AND  brauzer='".$_SERVER['HTTP_USER_AGENT']."'";
    $Element4 = mysql_query($query4);
    if(mysql_affected_rows()==0)
    {
    $query ="INSERT INTO info (`product`,`page`,`ip`,`brauzer`) VALUES
    ('".$name."','".$matches[1]."','".$_SERVER['REMOTE_ADDR']."','".$_SERVER['HTTP_USER_AGENT']."')";
    $Element = mysql_query($query);
    }

    Как думаете,пойдет??
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 9:38, спустя 22 минуты 5 секунд

    Теперь такая вот проблемма возникла.
    Как из базы вытащить только разные элементы??
    например
    ip page
    0.0.0.1 yandex.ru
    0.0.0.2 google.ru
    0.0.0.3 yandex.ru

    нужно записать так
    yandex.ru
    0.0.0.1
    0.0.0.3
    google.ru
    0.0.0.2
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 августа 2008 г. 9:47, спустя 9 минут 40 секунд

    а так не выйдет?

    REPLACE `table` (`auto_increment_field`) VALUES('');
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 9:56, спустя 8 минут 19 секунд


    а так не выйдет?

    REPLACE `table` (`auto_increment_field`) VALUES('');




    Не совсем понял,хотя нет,совсем не понял=)
    Наверное я не правильно обьяснил!
    Нужно не записать,а вывести так

    yandex.ru
    0.0.0.1
    0.0.0.3
    google.ru
    0.0.0.2

    имея такую базу данных
    ip page
    0.0.0.1 yandex.ru
    0.0.0.2 google.ru
    0.0.0.3 yandex.ru
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 августа 2008 г. 10:31, спустя 35 минут 46 секунд

    это было как раз про запись, просто я долго отвечал


    $q = mysql_query("SELECT engeen, ip FROM table")
    while($row = mysql_fetch_assoc($q )){
    if ($last_engeen != $row['engeen']){
    echo $row['engeen'];
    }
    echo $row['ip'];
    $last_engeen = $row['engeen'];
    }

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 9 августа 2008 г. 10:44, спустя 12 минут 27 секунд

    Так же организовал,но не то!!!=(

    Решил по другому сделать.Как осмыслю,так норм вопрос задам,что бы не надоедать=))
    P.S. ты сортировку забыл=)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 августа 2008 г. 13:30, спустя 2 часа 45 минут 50 секунд

    ну давай думай)

    REPLACE `table` (`auto_increment_field`) VALUES('');

    на это забей это не работает

    ты сортировку забыл

    да я ваще пахабно код пишу
    точку-с-запятой все время не ставлю
    а все потому чтоб вы не расслаблялись и не скучали
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 10 августа 2008 г. 0:36, спустя 11 часов 6 минут 1 секунду

    Что то типо этого я пытался сотворить

    while($w=mysql_fetch_object($zapros))
    {

     $massiv[$w->product][$w->ip][]=$w->page;
    }

    foreach(array_keys($massiv) as $var)
    {
    echo "<b>".$var."</b><br>";

        foreach(array_keys($massiv[$var]) as $var1)
    {
    echo "__".$var1."<br>";

        foreach($massiv[$var][$var1] as $var2)
    {
    echo "_____".$var2."<br>";

    }
    }
    }


    выводит это


    Главная -страница которую посетили
    __127.0.0.1 -кто посетил
    _____<br> -с какой страницы
    МФУ Ricoh Aficio SP1000SF
    __127.0.0.1
    _____http://localhost/ivk/index.php
    _____http://localhost/ivk/index.php
    МФУ Ricoh Aficio FX200L
    __127.0.0.1
    _____http://localhost/ivk/index.php<br>
    _____http://localhost/ivk/index.php<br>

Пожалуйста, авторизуйтесь, чтобы написать комментарий!