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

    Банер ротация с MySQL

    Автор: BG_NIKE

    Урока е изготвен от мен за HunteR. Благодарности на hrischo,че ми помогна за някои неща. Smile
    С тази система можем да добавяме банери и да показваме на случаен принцип по един.След като даден банер бъде показан 5000 пъти вече няма да се показва.
    Ще трябва да създадем три файла:
    conf.pgp
    add.php
    banners.php

    conf.php

    <?php
    $host="localhost"; // хост
    $user="потребител"; / /потребител
    $pass="парола"; // парола
    $db="banner"; // база данни
    $rw="banner"; // таблица
    ?>

    Настройваме връзката с MySQL
    add.php

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
    <title>Банери</title>
    </head>
    <body>
    <form action="" method="post"><b>Добавяне на банер: </b><br />
    
    Адрес на сайта:<input type="text" size="25" name="url"><br />
    Линк към банера:<input type="text" size="25" name="picurl"><br />
    
    <input type="submit" name="submit" value="Добави">
    </form>
    </body>
    </html>
    <?php
    include("conf.php");
    
    if ($_POST['submit']){
    
    $url = $_POST['url'];
    $picurl = $_POST['picurl'];
    
    if ((empty($url)) or (empty($picurl))){
    echo "Не си попълнил всички полета!";
    exit;
    }
    
    $url = htmlspecialchars($url);
    $url = addslashes($url);
    $picurl = htmlspecialchars($picurl);
    $picurl = addslashes($picurl);
    
    mysql_connect($host,$user,$pass);
    
    $chars="SET CHARACTER SET cp1251";
    
    @mysql_select_db($db) or die( "Unable to select database");
    
    mysql_query($chars);
    
    $query = "INSERT into $rw (id,url,picurl) VALUES (NULL,'$url', '$picurl')";
    mysql_query ($query);
    
    $command = "SELECT * FROM $rw WHERE impresii > 5000";
    $result_command = mysql_query($command);
    $row_command = mysql_fetch_array($result_command);
    if($row_command)
    {
    $zaqvka = mysql_query("DELETE FROM $rw WHERE impresii > 5000");
    }
    
    echo "Банера е добавен успешно!";
    }
    ?>

    Чрез този файл добавяме банер.

    banners.php

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
    <title>Банери</title>
    </head>
    <body>
    <?php
    include("conf.php");
    mysql_connect($host,$user,$pass);
    $chars="SET CHARACTER SET cp1251";
    @mysql_select_db($db) or die( "Unable to select database");
    mysql_query($chars);
    $query = "SELECT * FROM $rw WHERE impresii < 5000 ORDER BY RAND() LIMIT 1";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_array($result);
    $url = $row[url];
    $pic = $row[picurl];
    $imp = $row[impresii];
    $update = "UPDATE $rw SET impresii=impresii+1 WHERE id='$row[id]'";
    $res = mysql_query($update);
    $broi = mysql_numrows($result);
    if ($broi == 0) {
    echo "Няма добавени банери.";
    } elseif ($broi > 0) {
    ?>
    <a href="<?=$url?>" target="_blank"><img src="<?=$pic?>" border="0"></a><br />
    Импресий: <?=$imp?>
    </body>
    </html>
    <?php
    }
    ?>

    Чрез този файл виждаме банер на произволен принцип.

    CREATE TABLE `banner` (
    `url` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
    `picurl` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
    `id` mediumint(8) unsigned NOT NULL auto_increment,
    `impresii` varchar(30) collate cp1251_bulgarian_ci NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=1 ;

    SQL

    Ако искате да видите даден банер колко импресий има,като напишете url-a,направете нов файл view.php и сложете това в него:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
    <title>Провери банер</title>
    </head>
    <body>
    <form method="post" action="">URL:<input type="text" name="url" value=""><input type="submit" name="view" value="Виж импресийте"></form>
    <?php
    $view = $_POST['view'];
    $baner = $_POST['url'];
    $baner = htmlspecialchars($baner);
    $baner = addslashes($baner);
    include("conf.php");
    mysql_connect($host,$user,$pass);
    $chars="SET CHARACTER SET cp1251";
    @mysql_select_db($db) or die( "Unable to select database");
    mysql_query($chars);
    if ($view)
    {
    $query = "SELECT * FROM $rw WHERE url='$baner'";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_array($result);
    $url = $row[url];
    $pic = $row[picurl];
    $imp = $row[impresii];
    $broi = mysql_numrows($result);
    if ($broi == 0) {
    echo "Няма такъв банер.";
    } elseif ($broi > 0) {
    ?>
    <a href="<?=$url?>" target="_blank"><img src="<?=$pic?>" border="0"></a><br />
    Импресий: <?=$imp?><br />
    </body>
    </html>
    <?php
    }
    }
    ?>

    Ако имате въпроси на ЛС или във форума.
    http://web-tourist.net/forum/viewtopic.php?p=110649

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