IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Système de gestion de pub


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Par défaut Système de gestion de pub
    Bonjour,

    Je dois réaliser un système d'affichage de publicité pour un site.

    Les pub sont enregistrées dans une base de données, une table nommé "pub"

    Les pub possèdent une date de début et de fin, je dois afficher 4 pub différentes à chaque reload de la page.

    Pour sélectionner mes pub dans les bonne dates, ça c'est ok, mais je chercher une solution pour afficher 4 nouvelles pub à chaque reload de la page, et bien sur il faut que ce soit 4 différentes des pub affichées précédemment...

    Il faut aussi que une pub ne doit pas s'afficher un nouvel fois que toute les autre pub on été afficher au moins une fois...

    Je pense qu'il me faudra utiliser les session php, mais je coince un peu, comment savoir quand toute les pub ont été afficher une fois?

    Avez-vous des idées pour réaliser un tel système? Des avis?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    bon c'est une réflexion un peut simpliste ce que je vais te dire, mais il me semble qu'il soit possible de connaitre l'adresse ip du visiteurs ( je crois :$_SERVER["REMOTE_ADDR"] ).
    Avec ca tu pourrais tenir à jour une BDD qui répertorie toutes les pubs vues (en y mettant la date de vision par exemple et le nombre de fois qu'il a vu la pub) et ensuite dans ta requête sql faire un random sur tous les idpub sauf certaines (en prenant le nombre de pub vu le plus grand tu sais quelles pubs n'ont pas été encore visualisé).

    je ne sais pas si je suis très claire. C'est peut être possible avec les Sessions mais là je ne m'y connais pas assez désolé.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Voici un script dont tu peux t'inspirer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php
    // ***************************************************************
    // 3 ANNONCEURS aleatoires - affichage dans PUBTOP
    // ***************************************************************
    // dossier des images
    $dossierAnnonceurs = 'images-partenariat/';
    $dossierAnnonceurs = '../../fichiers/images-partenariat/';
    // -------------------------
    // table de la BD
    $tableAnnonceurs = 'T_PUB_PARTENARIAT_PUB';
    // requete : publier=1
    $pub_query = "SELECT * FROM ".$tableAnnonceurs." AS PUB
    	WHERE PUB.publier=1
    	AND PUB.logo!='';";
    $pub_result = mysql_query($pub_query) or die('Erreur SQL :<br />'.$pub_query.'<br />'.mysql_error());
    $pub_nombre = mysql_num_rows($pub_result);
    // -------------------------
    // creation de tableaux array avant melange aleatoire
    $ipub = 0;
    while ($pub_row = mysql_fetch_array($pub_result)) 
    {
    	$arrayannonceur[$ipub][0] = $dossierAnnonceurs.$pub_row['logo'];	// logo
    	$arrayannonceur[$ipub][1] = fctsitewebURL($pub_row['siteweb']);		// site web + lien
    	$arrayannonceur[$ipub][2] = stripslashes($pub_row['titre']);		// titre (soutitre) + lien
    	if ($pub_row['soustitre']!='') {
    	$arrayannonceur[$ipub][2] .= ' - '.stripslashes($pub_row['soustitre']); 
    	}
    $ipub++;
    }
    // -------------------------
    // melange aleatoire
    shuffle($arrayannonceur);
    // -------------------------
    // on affiche les 3 premiers
    for($ipub=0; $ipub<3; $ipub++)
    {
    	if($arrayannonceur[$ipub][1]!='') {
    ?>
    <a class="pubD<?php echo ($ipub+1); ?>" href="<?php echo $arrayannonceur[$ipub][1]; ?>" onclick="window.open(this.href); return false;" title="<?php echo $arrayannonceur[$ipub][2]; ?>">
    	<img <?php echo fctaffichimage($arrayannonceur[$ipub][0], 140, 80); ?> alt="" />
    </a>
    <?php
    	} else {
    ?>
    <a class="pubD<?php echo ($ipub+1); ?>" href="javascript:void(0);" title="<?php echo $arrayannonceur[$ipub][2]; ?>">
    	<img <?php echo fctaffichimage($arrayannonceur[$ipub][0], 140, 80); ?> alt="" />
    </a>
    <?php
    	}
    }
    ?>
    Par contre, le fait de vérifier que "tous" les annonceurs s'affichent "au moins une fois" n'a pas grand intérêt.
    L'internaute ne va pas revenir mille fois sur la même page !

Discussions similaires

  1. Avis des développeurs sur un système de gestion.
    Par snoopy69 dans le forum Access
    Réponses: 7
    Dernier message: 19/05/2006, 15h47
  2. [Système] [Push] Gestion
    Par Mister Nono dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2006, 19h56
  3. Système de gestion de fichier
    Par xtremax3 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 02/11/2005, 02h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo