Елементарен брояч с 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);
?>при въпроси тук или на ЛС. Може да следите тази тема за подобрения по брояча.


