[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задание переменных
rocker
Допустим есть 2 таблицы

Сайты и Статистика

В Статистику мы всегда записывае следующие данные

1. С какого сайта пришли (url сайта) 2. Дату

В Сайты мы записываем сайты с которых пришли (url) но уже не повторяясь
тоесть если сайт с url уже существует то мы его не заносим.

Вопрос: Как вывести статистику посещений по сайтам.

Например:

Таблица

Сайт | Колличество посещений

Спасибо!



Спустя 24 минуты, 21 секунда (31.07.2009 - 15:29) Dezigo написал(а):
какие идеи, методы ты придумал?

Спустя 10 минут, 31 секунда (31.07.2009 - 15:40) rocker написал(а):
Я уже создавал подобный пост недавно..но решил что там непонятно разъяснил свой скрипт..поэтому заного создал..более доступным

http://phpforum.ru/index.php?showtopic=19731

Спустя 8 минут, 50 секунд (31.07.2009 - 15:48) jetistyum написал(а):
заного.... за какое ного? правое или левое:))
ну а если по-сути, а где собственно скрипт?

Спустя 28 минут, 50 секунд (31.07.2009 - 16:17) rocker написал(а):
Ладно..еще раз переформулирую ..

как сделать выводимый сайт из таблицы Сайты переменной..чтобы потом
в запросе селеки ее использовать...

where сайт = сайт

Спустя 7 минут, 32 секунды (31.07.2009 - 16:25) jetistyum написал(а):
Короче для начала нужно учить SQL, агрегатные функции, правильно строить запросы.
А еще постарайся нормально излагать свои мысли, чтобы тебя понимал кто-то еще, кроме тебя же wink.gif

для того чтобы тебе помогли, приведи код, который ты писал, но у тебя не получилось.
выводить данные из таблицы - SELECT * FROM `table` WHERE тут условие дописываешь выводишь через mysql_fetch_array()... или ты другие методы используешь, без работы с переменными???))

Спустя 9 часов, 27 минут, 59 секунд (1.08.2009 - 01:53) Raito-kun написал(а):
долго понимал, чего хочет топикстартер smile.gif вобщем если я правильно понял:

1.php

PHP
<?php

   $host 
= "host";
   $dbuser = "user";
   $dbpass = "pass";

   $db = "db";

   $connect = mysql_connect($host, $dbuser, $dbpass) or die("Connect failed");
   mysql_select_db($db, $connect) or die("Database selection failed");

   $url = $_SERVER['HTTP_REFERER'];
   $flag = 0;

   if($url){
           //Работаем с таблицей sites
           $site_query = mysql_query("
           SELECT * FROM `sites`
           "
) or die("Site query failed");

           while($row = mysql_fetch_assoc($site_query)){
                      if($row['url'] == $url)
                          {
                          $flag = 1;
                          $found_id = $row['id'];
                          }
           }

           if($flag == 0){
               $add_url_to_sites_query = mysql_query("
               INSERT INTO `sites` (`url`, `num`)
               VALUES ('$url', 1)
               "
) or die("Adding query failed");
           }
           else{
               $num_increment_query = mysql_query("
                  UPDATE `sites` SET `num` = `num`+1
                  WHERE `id` = '$found_id'
               "
) or die("Increment query failed");
           }
           //Переходим к таблице statistics
           mysql_query("
           INSERT INTO `statistics` (`url`)
           VALUES ('$url')
           "
) or die("Statistics update failed");

    }

Используются 2 таблицы sites(id, url, num)-тут идет общий подсчет посещений с каждого сайта(num-число посещений каждого отдельного url) и statistics(id, url, date)-тут просто записывается каждое новое посещение, date подставляется автоматом(используем timestamp).

Код можно оптимизировать подсчетом одинаковых url'ов в statistics и записывая это число в num таблицы sites, но пусть этим уже занимается сам автор.

Вывод таблицей. Страничка

Statistic.php

PHP
<html>

<
head>
  <title>Statistic page</title>
</
head>

<
body>

<?
php

   $host 
= "host";
   $dbuser = "user";
   $dbpass = "pass";

   $db = "db";

   $connect = mysql_connect($host, $dbuser, $dbpass) or die("Connect failed");
   mysql_select_db($db, $connect) or die("Database selection failed");

   $query = mysql_query("
   SELECT * FROM `sites`
   "
);

   echo "<table border = 1 cellspacing = 0 cellpadding = 3>
       <tr>
       <td>URL</td>
       <td>Посещений</td>
       </tr>
       <tr>"
;
   while($row = mysql_fetch_assoc($query)){
           echo "<td>".$row['url']."</td>";
           echo "<td>".$row['num']."</td>";
   }
   echo "</tr>
        </table>"
;

Проверил на своем хосте. Все работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.