Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Chez stefvar :: Voir le sujet - Affichage de toutes les bannières [RESOLU]
FAQ
FAQ
Rechercher
Rechercher
Liste des Membres
Liste des Membres
Groupes d'utilisateurs
Groupes d'utilisateurs
Profil
Profil
Connexion
Connexion
Se connecter pour vérifier ses messages privés
Se connecter pour vérifier ses messages privés
Chez stefvar Index du Forum » Général

Poster un nouveau sujet   Répondre au sujet
Affichage de toutes les bannières [RESOLU]
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Snesman
Bénévole SV
Bénévole SV


Inscrit le: Apr 30, 2006
Messages: 1838

MessagePosté le: 10 Feb 2008, 20:39    Sujet du message: Affichage de toutes les bannières [RESOLU] Répondre en citant

Bonjour,

J'aimerais pouvoir mettre l'affichage de toutes les bannières d'une position et activée dans une variable, pour pouvoir ensuite me servir de cette variable où je veux.

Voici le code sur lequel je bosse, il s'agit du code ads() que j'ai modifié.

Code:
function allads() {
   global $prefix, $db, $admin, $sitename, $adminmail, $nukeurl;

   $numrows = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_banner WHERE position='0' AND active='1'"));

   $bannum = 0;

   $sql = "SELECT bid, impmade, imageurl, clickurl, alttext FROM ".$prefix."_banner WHERE position='0' AND active='1' LIMIT $numrows";
   $result = $db->sql_query($sql);
   list($bid, $impmade, $imageurl, $clickurl, $alttext) = $db->sql_fetchrow($result);
   $bid = intval($bid);
   $imageurl = filter($imageurl, "nohtml");
   $clickurl = filter($clickurl, "nohtml");
   $alttext = filter($alttext, "nohtml");

   if($numrows > 0) {
      $sql2 = "SELECT cid, imptotal, impmade, clicks, date, ad_class, ad_code, ad_width, ad_height FROM ".$prefix."_banner WHERE bid='$bid'";
      $result2 = $db->sql_query($sql2);
      list($cid, $imptotal, $impmade, $clicks, $date, $ad_class, $ad_code, $ad_width, $ad_height) = $db->sql_fetchrow($result2);
      $cid = intval($cid);
      $imptotal = intval($imptotal);
      $impmade = intval($impmade);
      $clicks = intval($clicks);
      $ad_class = filter($ad_class, "nohtml");
      $ad_width = intval($ad_width);
      $ad_height = intval($ad_height);
      
      if ($ad_class == "code") {
         $ad_code = stripslashes(FixQuotes($ad_code));
         $allads = "<center>$ad_code</center>";
      } elseif ($ad_class == "flash") {
         $allads = "<center>
            <OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
            codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\"
            WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\" id=\"$bid\">
            <PARAM NAME=movie VALUE=\"$imageurl\">
            <PARAM NAME=quality VALUE=high>
            <EMBED src=\"$imageurl\" quality=high WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\"
            NAME=\"$bid\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\"
            PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\">
            </EMBED>
            </OBJECT>
            </center>";
      } else {
         $allads = "<center><a href=\"index.php?op=ad_click&amp;bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"$alttext\" title=\"$alttext\"></a></center>";
      }
   } else {
      $allads = "";   
   }
   return $allads;
}


Actuellement, le code n'en affiche qu'une, mais j'aimerais qu'il m'affiche toutes les bannières, soit un total de 4 pour la position donnée et actives.

Le fait qu'il en affiche qu'une est normale puisqu'il n'exécute le script qu'une fois, donc je pense que pour toutes les avoir, il me faudrait utiliser une boucle, j'ai essayé avec while mais ça n'a rien donné, peut-être mal placé. Confused
_________________
La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs...


Dernière édition par Snesman le 12 Feb 2008, 1:18; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
stefvar
Administrateur
Administrateur


Inscrit le: Jul 06, 2005
Messages: 8183
Localisation: France Corse Ventiseri

MessagePosté le: 10 Feb 2008, 21:20    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Bonjour,

Je ne l'ai pas testé mais ce code devrait correspondre à tes attentes :
Code:

function allads() {
   global $prefix, $db, $admin, $sitename, $adminmail, $nukeurl;

   $numrows = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_banner WHERE position='0' AND active='1'"));

   $bannum = 0;

   $sql = "SELECT bid, impmade, imageurl, clickurl, alttext FROM ".$prefix."_banner WHERE position='0' AND active='1' LIMIT $numrows";
   $result = $db->sql_query($sql);
   list($bid, $impmade, $imageurl, $clickurl, $alttext) = $db->sql_fetchrow($result);
   $bid = intval($bid);
   $imageurl = filter($imageurl, "nohtml");
   $clickurl = filter($clickurl, "nohtml");
   $alttext = filter($alttext, "nohtml");

   if($numrows > 0) {
      $result2 = $db->sql_query'"SELECT cid, imptotal, impmade, clicks, date, ad_class, ad_code, ad_width, ad_height FROM ".$prefix."_banner WHERE bid='$bid'");
      while ($row2 = $db->sql_fetchrow($result2)) {
      $cid = intval($row2['cid']);
      $imptotal = intval($row2['imptotal']);
      $impmade = intval($row2['impmade']);
      $clicks = intval($row2['clicks']);
      $ad_class = filter($row2['ad_class'], "nohtml");
      $ad_width = intval($row2['ad_width']);
      $ad_height = intval($row2['ad_height']);
     
      if ($ad_class == "code") {
         $ad_code = stripslashes(FixQuotes($ad_code));
         $allads = "<center>$ad_code</center>";
      } elseif ($ad_class == "flash") {
         $allads = "<center>
            <OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
            codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\"
            WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\" id=\"$bid\">
            <PARAM NAME=movie VALUE=\"$imageurl\">
            <PARAM NAME=quality VALUE=high>
            <EMBED src=\"$imageurl\" quality=high WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\"
            NAME=\"$bid\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\"
            PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\">
            </EMBED>
            </OBJECT>
            </center>";
      } else {
         $allads = "<center><a href=\"index.php?op=ad_click&amp;bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"$alttext\" title=\"$alttext\"></a></center>";
      }
    }
   } else {
      $allads = "";   
   }
   return $allads;
}

_________________
Avant de poster, lire la charte du forum, merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
jetdesh
Bénévole SV
Bénévole SV


Inscrit le: Dec 07, 2006
Messages: 878

MessagePosté le: 10 Feb 2008, 23:21    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Salut,

Je ne sais pas pourquoi je lis les posts de Snesman... Un doux rêve de l'aider un jour peut-être !

Enfin, si je regarde le post est déposé à 19h39.

Stefvar réponds à 20h20.

Autrement dit c'est l'heure du repas, Stefvar mange en 30 minutes (théorie et moyenne relativement raisonnable), et il pond donc un code comme cela en moins de 10 minutes... Mouais... Ok...

Si je résume, Stefvar dort peu (voire pas), mange rapidement, et ne fait que coder !!!!

J'en conclue donc que Stefvar ne doit pas être un humain et qu'on s'est tous fait avoir ! Son site est un bot !!! Nous dialoguons avec un robot depuis des années !!!!!!!

Sur ce... bonne soirée à tous les humains du site et au bot Stefvar Smile

A+

Jet (bon ok s'est hors sujet mais j'ai tellement halluciné en voyant ça !!!)
_________________
Un site pour les profs :

http://profs.123.fr
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Snesman
Bénévole SV
Bénévole SV


Inscrit le: Apr 30, 2006
Messages: 1838

MessagePosté le: 10 Feb 2008, 23:46    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Bonjour,

Si c'est un bot, je le trouve extrèmement évolué, il va falloir faire attention à ce que la NASA ne nous le pique pas. Vous vous rendez compte, Stefvar dans l'espace ?????? Rolling Eyes Laughing Laughing Laughing

Pour en revenir au sujet, désolé, Stefvar ça marche pas. J'ai remodifié le code mais sans succès.

Voici le dernier code :

Code:
function allads() {
   global $prefix, $db, $admin, $sitename, $adminmail, $nukeurl;

   $sql = "SELECT * FROM ".$prefix."_banner WHERE position='0' AND active='1'";
   $result = $db->sql_query($sql);
   while ($row = $db->sql_fetchrow($result)) {
   $bid = intval($row['bid']);
   $imageurl = filter($row['imageurl'], "nohtml");
   $clickurl = filter($row['clickurl'], "nohtml");
   $alttext = filter($row['alttext'], "nohtml");
   
   $numrows = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_banner WHERE position='0' AND active='1'"));

   if($numrows > 0) {
      $result2 = $db->sql_query("SELECT * FROM ".$prefix."_banner WHERE bid='$bid'");
      while ($row2 = $db->sql_fetchrow($result2)) {
      $cid = intval($row2['cid']);
      $imptotal = intval($row2['imptotal']);
      $impmade = intval($row2['impmade']);
      $clicks = intval($row2['clicks']);
      $ad_class = filter($row2['ad_class'], "nohtml");
      $ad_width = intval($row2['ad_width']);
      $ad_height = intval($row2['ad_height']);
     
      if ($ad_class == "code") {
         $ad_code = stripslashes(FixQuotes($ad_code));
         $allads = "<center>$ad_code</center>";
      } elseif ($ad_class == "flash") {
         $allads = "<center>
            <OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
            codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\"
            WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\" id=\"$bid\">
            <PARAM NAME=movie VALUE=\"$imageurl\">
            <PARAM NAME=quality VALUE=high>
            <EMBED src=\"$imageurl\" quality=high WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\"
            NAME=\"$bid\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\"
            PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\">
            </EMBED>
            </OBJECT>
            </center>";
      } else {
         $allads = "<center><a href=\"index.php?op=ad_click&amp;bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"$alttext\" title=\"$alttext\"></a></center>";
      }
    }
   } else {
      $allads = "";   
   }
   return $allads;
   }
}


Je pense que celui-ci est plus proche du résultat que le précédent, seul hic, il fonctionne pas.

jetdesh, peut-être, un jour tu pourras m'apporter une réponse, Rolling Eyes , enfin pour le moment je pense que tu pourras pas vraiment car je refonds du code à tour de bras. Cependant, je pense que tu peux en apprendre beaucoup en ne faisant que lire ce genre de post et analyser le code.

Exercice à rendre demain sans faute. Laughing Laughing
_________________
La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
stefvar
Administrateur
Administrateur


Inscrit le: Jul 06, 2005
Messages: 8183
Localisation: France Corse Ventiseri

MessagePosté le: 11 Feb 2008, 7:14    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Bonjour,

Ne déconnez pas avec l'espace, j'ai peur en avion Laughing Laughing Laughing

Pour le code, retire juste les inval et filter Wink .
_________________
Avant de poster, lire la charte du forum, merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Snesman
Bénévole SV
Bénévole SV


Inscrit le: Apr 30, 2006
Messages: 1838

MessagePosté le: 11 Feb 2008, 19:49    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Bonjour,

J'ai enlevé mais ça fonctionne pas. Je pense que pour le moment, je vais coder en "dur" et je verrais plus tard pour l'aspect universel.
_________________
La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
lolo
Bénévole SV
Bénévole SV


Inscrit le: Jan 06, 2007
Messages: 946
Localisation: La Crau (83)

MessagePosté le: 12 Feb 2008, 0:00    Sujet du message: Re : Affichage de toutes les bannières Répondre en citant

Voila David ma modeste contribution au fonctionnement de ton code Razz

Code:
function allads() {
   global $prefix, $db;

   $sql = "SELECT * FROM ".$prefix."_banner WHERE position='0' AND active='1'";
   $result = $db->sql_query($sql);
   while($row = $db->sql_fetchrow($result)) {
   $bid = intval($row['bid']);
   $numrows = $db->sql_numrows($result);
  if($numrows > 0)
   {
      $result2 = $db->sql_query("SELECT * FROM ".$prefix."_banner WHERE bid='$bid'");
      while($row2 = $db->sql_fetchrow($result2)) {
      $cid = intval($row2['cid']);
      $imptotal = intval($row2['imptotal']);
      $impmade = intval($row2['impmade']);
      $clicks = intval($row2['clicks']);
      $ad_class = filter($row2['ad_class'], "nohtml");
      $ad_width = intval($row2['ad_width']);
      $ad_height = intval($row2['ad_height']);
      $imageurl = filter($row2['imageurl'], "nohtml");
      $clickurl = filter($row2['clickurl'], "nohtml");
      $alttext = filter($row2['alttext'], "nohtml");
     $ad_code = $row2['ad_code'];
    
      if ($ad_class == "code") {
         $ad_code = stripslashes(FixQuotes($ad_code));
         $allads .= "<center>$ad_code</center><br />";
      }   elseif ($ad_class == "flash")   {
         $allads .= "<center>
            <OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
            codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\"
            WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\" id=\"$bid\">
            <PARAM NAME=movie VALUE=\"$imageurl\">
            <PARAM NAME=quality VALUE=high>
            <EMBED src=\"$imageurl\" quality=high WIDTH=\"$ad_width\" HEIGHT=\"$ad_height\"
            NAME=\"$bid\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\"
            PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\">
            </EMBED>
            </OBJECT>
            </center><br />";
               } else {
         $allads .= "<center><a href=\"index.php?op=ad_click&amp;bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"$alttext\" title=\"$alttext\"></a></center><br />";
         }
      }
   }   else   {
            $allads .= "";   
   }
}
return $allads;
}

$lolo = allads();
echo "$lolo";


Testé et approuvé

Pour infos vous avez oublié de declarer $ad_code = $row2['ad_code'];
_________________
http://www.chez-lolo-arcade.net/arcade/index.php
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Snesman
Bénévole SV
Bénévole SV


Inscrit le: Apr 30, 2006
Messages: 1838

MessagePosté le: 12 Feb 2008, 1:20    Sujet du message: Re : Affichage de toutes les bannières [RESOLU] Répondre en citant

Bonjour,

MERCI lolo, j'avais pas pensé au point avant le =.

En tout cas ça fonctionne. pour un aperçu du résultat :

http://www.pc-dream.net

Ca se situe au niveau des bannières en haut à droite. Effet testé fonctionnel avec FF2 et IE7.
_________________
La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
jetdesh
Bénévole SV
Bénévole SV


Inscrit le: Dec 07, 2006
Messages: 878

MessagePosté le: 12 Feb 2008, 8:58    Sujet du message: Re : Affichage de toutes les bannières [RESOLU] Répondre en citant

Salut,

Snesman ! J'adore le concept ! Mais dans une autre utilisation autre... Tu te souviens peut-être que je voulais faire des blocs avec des menus déroulants... Et bien, cela correspondrait bien à ce que je recherche.

Au lieu d'image de banières, il "suffirait" que j'insère des noms du style Forum ; Truc et Machin quant au lien... Un jeu d'enfant j'imagine.

Est-ce réalisable selon toi ?

Merci Wink

Jet
_________________
Un site pour les profs :

http://profs.123.fr
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Snesman
Bénévole SV
Bénévole SV


Inscrit le: Apr 30, 2006
Messages: 1838

MessagePosté le: 12 Feb 2008, 13:09    Sujet du message: Re : Affichage de toutes les bannières [RESOLU] Répondre en citant

Bonjour,

Oui, le script de l'effet sort d'une librairie.

http://script.aculo.us/

Donc en mettant en place la librairie, tu as accès a plein d'effet.

P.S. : Tu dis "un jeu d'enfant", ça dépend de quel enfant tu parles. Laughing
_________________
La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Chez stefvar Index du Forum » Général Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

Animé par phpBB © 2007 -:- Thème iCGstation PHP-Nuke par nukemods.com
Traduction par : phpBB-fr.com -:- Adapté par stefvar

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloqués / messages: 0 / 0
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx