Webmaster общности: Predpriemach.com | SearchEngines.bg

    Елементарен брояч с MySQL и изкарване на резултата в картинка.

    Ето един елементарен брояч за сайта ви, който записва резултата в MySQL и визуализира резултата в картинка. Необходимо е сървъра да поддържа PHP,MySQL и GD библютека.

    Можете спокоино да го визуализирате по следния начин:
    <img src=http://site.com/counter.php>

    Започваме с db.sql които трябва да импортирате в phpmyadmin панела.

    CREATE TABLE `counter` (
    `id` int(10) NOT NULL auto_increment,
    `date` varchar(225) NOT NULL default '',
    PRIMARY KEY (`id`)
    ) ;

    следва файл server.php които записва и извежда резултата от MySQL.

    <?
    //настройвате връзката към сървъра
    $host = "localhost";
    $user = "username";
    $pass = "password";
    $db = "dbname";
    
    //тук прави връзка със сървъра и базата
    $connect = mysql_connect("$host","$user","$pass");
    if (!$connect) { echo("ERROR: " . mysql_error() . "\n"); }
    
    mysql_select_db("$db", $connect);
    
    $date = date("l, j.n.Y g:i a"); //записваме датата в зададения формат
    
    записваме новото посещение в MySQL
    $SQL = " INSERT INTO counter ";
    $SQL = $SQL . " (date) VALUES ";
    $SQL = $SQL . " ('$date') ";
    $result = mysql_db_query("$db","$SQL",$connect);
    if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); }
    
    //тук прави връзка със сървъра и базата
    $connect = mysql_connect("$host","$user","$pass");
    if (!$connect) { echo("ERROR: " . mysql_error() . "\n"); }
    
    mysql_select_db($db);
    
    //викаме резултата от MySQL
    $SQL = "SELECT * FROM counter ORDER BY id DESC LIMIT 1";
    
    $retid = mysql_db_query($db, $SQL, $connect);
    
    while ($row = mysql_fetch_array($retid)) {
    $number = $row["id"]; //това е стойността която пращаме да се визуализира в следващия файл
    //който е counter.php
    
    }
    
    ?>

    хубавото е че всяко посещение се записва на нов ред в MySQL и може да изкарат за перйод от време колко посещения е имало.

    ето го и counter.php той генерира картинката в която се изписва стойността.

    <?php
    include "server.php"; //инклудваме връзката със сървъра
    
    //тук избираме параметрите за картинката: височина и ширина в пиксели
    $kartinka = imagecreate(75,25);
    //тук показваме какъв да е фона на картинката, в нашия случай е черен.
    $backcolor = imagecolorallocate($kartinka,0,0,0);
    //тук избираме какъв цвят да е текста, 255,255,255 е бял.
    $textcolor = imagecolorallocate($kartinka,255,255,255);
    
    //тази част не трябва да се променя.
    imagefill($kartinka,0,0,$backcolor);
    
    //надолу няма какво да се променя.
    Imagestring($kartinka,10,5,5,$number,$textcolor);
    header("Content-type: image/gif");
    
    imagegif($kartinka);
    ?>

    при въпроси тук или на ЛС. Може да следите тази тема за подобрения по брояча.

    Оставете коментар