Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 14h37   #1
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
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
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h08   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
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é.
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h15   #3
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Voici un script dont tu peux t'inspirer :
Code :
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 !
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h51.


 
 
 
 
Partenaires

Hébergement Web