Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je recherche un script PHP permettant la gestion de campagne de pub, à savoir :

- facilité d'ajouter/supprimer une bannière

- bannières rotatives (ban 1 puis ban 2, puis ban 3, etc.)

- stats du nombre d'affichage et de cliques sur chaque bannière

Et en plus je veux pas que les programmes du genre Norton Internet Security empêche de voir les bannières si l'option anti-pub est cochée

Posté

Je te livre un script que j'ai écrit très performant, je pense pour gérer une rotation de bannière en affectant un pourcentage d'impression à chaque régie de publicité.

Pour gérer de manière précise le pourcentage affecté à chaque régie, je m'appuie sur un compteur allant de 1 à 10 ( une sequence ) basé sur une table dont la colonne est incrémenté par LAST_INSERT_ID, ceci assure l'opération d'incrémentation de lecture en 1 passe, ce qui donne une bonne précision sur la gestion des espaces alloués à chacune des régies.

D'autre part, je m'appuie sur une table mémoire HEAP pour les performances.

Dans l'exemple ci-après, j'affecte 30% à la régie1, 30% à la régie2 et 40% à la régie3. Ce qui vous permet de définir la meilleure régie.

Vos remarques, améliorations sont les bienvenues.

@++

Alain

<?php
include ("dbconnect_pub.php");
$query = mysql_query("UPDATE header_sequence
SET id = LAST_INSERT_ID(id+1)");
if (!$query)
{
mysql_query("CREATE TABLE header_sequence
(id TINYINT UNSIGNED NOT NULL) TYPE = HEAP
MAX_ROWS = 1");
mysql_query("INSERT INTO header_sequence VALUES (0)");
$query = mysql_query("UPDATE header_sequence
SET id=LAST_INSERT_ID(id+1)");
}
$indice = mysql_insert_id();
if ($indice > 10)
{
mysql_query("UPDATE header_sequence SET id = LAST_INSERT_ID(1)");
$indice = mysql_insert_id();
}
mysql_close();
switch($indice)
{
case 1 : include("regie1.php"); break;
case 2 : include("regie1.php"); break;
case 3 : include("regie1.php"); break;
case 4 : include("regie2.php"); break;
case 5 : include("regie2.php"); break;
case 6 : include("regie2.php"); break;
case 7 : include("regie3.php"); break;
case 8 : include("regie3.php"); break;
case 9 : include("regie3.php"); break;
case 10 : include("regie3.php"); break;
}?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...