Ротация на банери
Автор: lord_simeon
Ето това е една системка за ротация на банери която аз съм я писал.Надявам се да ви хареса моля коментирайте.
sql.sql
CREATE TABLE IF NOT EXISTS `banner` (
`id` int(11) NOT NULL auto_increment,
`code` text collate latin1_general_ci NOT NULL,
`click` int(255) NOT NULL,
`imp` int(255) NOT NULL,
`razmer` int(11) NOT NULL,
`url` varchar(255) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=11 ;config.php
<?
$dbhost='localhost'; //сървър
$dbusername='root'; //MySQL име
$dbuserpass='******'; //MySQL парола
$db='DB-to'; //MySQL база от данни
//Небарай нищо надолу
$conn = mysql_connect($dbhost, $dbusername, $dbuserpass) or die("MySQL Error!");
mysql_select_db($db) or die("MySQL Error!") ;
?>От admin.php може да видите статистики за всеки банер и да изтривате ненужните банери 🙂
admin.php
<? include("config.php"); ?>
<form method="POST" action="">
<p>URL <span lang="bg">към сайта(задължително с http://):
<input type="text" name="T1" size="48"></span></p>
<p><span lang="bg">Код за снимката:</span></p>
<p><textarea rows="16" name="S1" cols="71">
<img src=" ТУК НАПИШЕТЕ ЛИНК КЪМ СНИМКАТА "></img></textarea></p>
<p><input type="submit" value="468x60" name="B1"></p>
<p><input type="submit" value="120x240" name="B2"></p>
</form>
<?
if($_GET['id']){
$id = $_GET['id'];
$del = mysql_query("DELETE from banner where id = '$id'"); //ako v browser-a se otvori link http://saita.com/banner.php?id=435 6te se iztrie baner s id 435
echo "Банерът е изтрит успешно.";
}
$code = $_POST['S1'];
$url = $_POST['T1'];
if($_POST['B1']){ //ako se klikne v/u butona B1 v bazata dani banner 6te byde zapisan s razmer 468x60
$razmer =1;
mysql_query("INSERT into banner VALUES ('', '$code', '', '', '$razmer', '$url')") or die(mysql_error());
echo "Банер с размер 468x60 е добавен успешно<br>";
}
if($_POST['B2']){ //ako se klikne v/u butona B1 v bazata dani banner 6te byde zapisan s razmer 120x240
$razmer =0;
mysql_query("INSERT into banner VALUES ('', '$code', '', '', '$razmer', '$url')") or die(mysql_error());
echo "Банер с размер 120x240 е добавен успешно<br>";
}
?>
<?
echo "<br>Банери:<br>";
$query = "SELECT id, code, click, imp, razmer FROM banner";
$result = mysql_query($query) OR die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { // s cikyla while izkarvame rezultatite ot DB
if($row[razmer] == 1){
$razmer = "468x60";
}else{
$razmer = "120x240";
}
echo '
'.$row['code'].'<br>
Кликове: '.$row['click'].' | Импресии: '.$row['imp'].' | Размер:'.$razmer.' | <a href="admin.php?id='.$row[id].'">[DEL]</a><br><br> ';
}
?>С файла click.php ще записваме всеки клик към банерите и ще препращаме към сайта който отговаря на даден банер.
click.php
<?
include("config.php");
$id = $_GET['id'];
$query = "SELECT id, code, click, imp, razmer, url FROM banner WHERE id='$id'";
$result = mysql_query($query) OR die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$update = mysql_query("Update banner set click =click+1 WHERE id =$row[id]"); // Update-vame v DB poleto click kato mu dobavqme +1
echo "<meta http-equiv=\"Refresh\" content=\"0; URL=$row[url]\"/>"; //tuk prepra6tame kym saita na koito e pokazan banera
}
?>С файла view468x60.php ще изкарваме банери с размер 468×60.За да изкарате банерите просто в сайта си на мястото на което искате да добавите банерите напишете
view468x60.php
<?
include("config.php");
$query = "SELECT id, code, click, imp, razmer FROM banner WHERE razmer=1 ORDER BY RAND() LIMIT 1 ";
$result = mysql_query($query) OR die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '
<a href="click.php?id='.$row[id].'">'.$row['code'].'</a>';
$update = mysql_query("Update banner set imp=imp+1 WHERE id ='$row[id]'");
}
?>С файла view120x240.php ще изкарваме банери с размер 120×240.За да изкарате банерите просто в сайта си на мястото на което искате да добавите банерите напишете
view120x240.php
<?
include("config.php");
$query = "SELECT id, code, click, imp, razmer FROM banner WHERE razmer=0 ORDER BY RAND() LIMIT 1 ";
$result = mysql_query($query) OR die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '
<a href="click.php?id='.$row[id].'">'.$row['code'].'</a>';
$update = mysql_query("Update banner set imp=imp+1 WHERE id ='$row[id]'");
}
?>Това беше целия урок.Надявам се да съм ви бил полезен.Ако има нещо неясно пишете ЛС или във форума .УРОКЪТ Е АВТОРСКИ И Е СПЕЦИАЛНО ПОДГОТВЕН ЗА WEB-TOURIST.NET .ПРЕПИСВАНЕТО Е АБСОЛЮТНО ЗАБРАНЕНО БЕЗ СПОМЕНАВАНЕТО НА НИКЪТ МИ lord_simeon И ЛИНК КЪМ УРОКА!!!




