PHP->Besoin d'aide pour un script de bannière

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

PHP->Besoin d'aide pour un script de bannière

Message le Sam Déc 30, 2006 22:47

Bonjour,

Pour faire un script de rotation de bannière, j'ai fais ce code qui fonctionne :
Code: Tout sélectionner
<?
include('header.inc.php');
$requete = mysql_query("SELECT * FROM demo_a_pub");
$nb_banniere = mysql_num_rows($requete);
$alea = rand(1, $nb_banniere);
$requete2 = mysql_query("SELECT * FROM demo_a_pub where id='$alea'");
while($ligne2 = mysql_fetch_array($requete2))
{
   $ban = $ligne2["banner"];
   $id = $ligne2["id"];
   echo'<a href="../click.php?id='.$id.'" target="_blank"><img src="'.$ban.'"></a>';
}
?>

Mais le problème est que si une bannière a été supprimée de la base de donnée, le script n'affiche rien.

Comment faire ?

Merci.

meduim
WRInaute discret
WRInaute discret
 
Messages: 71
Inscription: Mar Mai 16, 2006 23:52

Message le Sam Déc 30, 2006 23:08

mets

if(empty($ban)){$ban="http://tonsite.com/imagesirien.jpg"}

juste apres

$ban = $ligne2["banner"];

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Sam Déc 30, 2006 23:12

Pour mettre une bannière avec une URL par défaut ?


manthoR
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 225
Inscription: Lun Mar 13, 2006 23:12

Message le Sam Déc 30, 2006 23:22

Sinon, moi j'utilise phpadsnew c'est ultra puissant pour gerer tous tes espaces, avec pondération, capping, etc.
Bref, tu geres comme tu veux tout tes emplacements / campagnes. En plus il peut automatiquement modifier le script pour compter les clics histoires de voir "chez toi" les stats affichages / clics par annonceurs

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Sam Déc 30, 2006 23:27

Je l'ai essayé mais je n'ai pas besoin d'un script si performant...
Merci quand même !

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Dim Déc 31, 2006 0:53

Ton système est nul : Genre tu as 4 enregistrements 1 3 4 5 (le 2 a été supprimé) , tu choisis rand(1,4) donc
- le 5 ne sortira jamais
- le 2 sortira alors qu'il n'existe plus...

Solution : il faut faire le rand() par mysql :
Code: Tout sélectionner
SELECT * FROM demo_a_pub ORDER BY RAND() LIMIT 1

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Dim Déc 31, 2006 1:56

Ton système est nul : Genre tu as 4 enregistrements 1 3 4 5 (le 2 a été supprimé) , tu choisis rand(1,4) donc
- le 5 ne sortira jamais
- le 2 sortira alors qu'il n'existe plus...

C'est pour ça que je postais...
Code: Tout sélectionner
<?
include('header.inc.php');
$requete = mysql_query("SELECT * FROM demo_a_pub ORDER BY RAND() LIMIT 1");
mysql_fetch_array($requete);
$ban = $requete["banner"];
$id = $requete["id"];
echo'<a href="../click.php?id='.$id.'" target="_blank"><img src="'.$ban.'"></a>';
?>

Et là, ça ne devrait pas marcher ?

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Dim Déc 31, 2006 2:00

Non, en fait avec :
Code: Tout sélectionner
<?
include('header.inc.php');
$requete = mysql_query("SELECT * FROM demo_a_pub ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_array($requete);
echo'<a href="../click.php?id='.$row[0].'" target="_blank"><img src="'.$row[2].'"></a>';
?>

...ça marche...

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Dim Déc 31, 2006 11:01

Très bien comme ça, par contre évite une sélection * si tu n'a besoin que de 2 champs : tu consomme des ressources pour rien :wink:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: hx.jonathan et 0 invités