Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1484 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Random page promo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Random page promo

n°1605352
ordipaco1
Posté le 28-08-2007 à 16:14:54  profilanswer
 

Bonjour a tous  
 
J'ai trouvé un code que j'ai adapté a mes besoins pour afficher des promos sur ma page d'accueil, comme une galerie d'images avec une lien quand on clique dessus. Voici le code de galerie.php
 

Code :
  1. CODE
  2. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  4. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <title></title>
  8. &lt;script type="text/javascript">
  9. <!-- 
  10. // Ouvre l'image dans une popup
  11. function ouvrirImage(url, height, width) {
  12.   window.open(url, '', 'height='+height+', width='+width +',toolbar=yes,menubar=yes,status=yes,resizable=yes');
  13. }
  14. //-->
  15. </script>
  16. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  17. </head>
  18. <body>
  19. <?php
  20. include('config_galerie.php');
  21. // on récupère le nombre d'image total
  22. $query = "select count(*) as nb from images_galerie;";
  23. $result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !" );
  24. $val = mysql_fetch_array($result);
  25. $nb_images_tot = $val['nb'];
  26. // S'il n'y a aucune image, ce n'est pas la peine de continuer
  27. if (!$nb_images_tot) {
  28.    echo "Il n'y a aucune image de référencée dans la base de données.";
  29. } else {
  30.    // on récupère les paramètres passé sur l'url
  31.    if ($_GET['image'])
  32.       $image_debut = $_GET['image'];
  33.    else
  34.       $image_debut = 0;
  35.  
  36.    $i = 0; // permet de savoir combien d'images on a mis sur la ligne;
  37.  
  38.    $query = "select * from images_galerie limit $image_debut, $nb_images_page;";
  39.  
  40.    $result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !" );
  41.  
  42. ?>
  43. <table width="100%" border="0">
  44.   <?php
  45.    while ($val = mysql_fetch_array($result)) {
  46.  
  47.       if (!($i++%$nb_images_ligne))  echo "<tr>\n";
  48.       echo "\n";
  49. ?>
  50.     <td> <a href="java script:ouvrirImage('<? echo $val['url_image_norm']?>',<? echo $val['nb_hauteur']?>,
  51.                                                                  <? echo $val['nb_largeur']?> );">
  52.      <img src="<? echo $val['url_image_mini']; ?>" alt="<? echo $val['lb_commentaire']; ?>" /> </a> </td> 
  53.      <?php
  54.       if (!($i%$nb_images_ligne)) echo "</tr>\n";
  55.    }
  56.  
  57.    if ($i%$nb_images_ligne) echo "</tr>\n";
  58.  
  59.    }
  60. ?>
  61. </p>
  62. </body>
  63. </html>


 
 
Ce code appelle un fichier config_galerie.php ou on renseigne le nombre d'images et le nombre d'images par ligne.  
Mon problème est le suivant: sachant que les adresses des images à afficher et leurs liens respectifs sont dans la base, j'aimerais faire un random pour varier les promos à chaque affichage pour faire plus dynamique  
 
J'ai essayé d'adapter ce code
 

Code :
  1. $random1 = (rand(1, 2)); //attribution d'un nbre aléatoire entre 1 et 5 (paramétrable)
  2. echo tep_image(DIR_WS_IMAGES . 'banniere/emball' . $random1 . '.jpg');


 
 
Mais je n'arrive pas a combiner random avec les liens respectifs.
 
Merci pour votre aide
 
Bonne journée
 
Stéphan


Message édité par ordipaco1 le 03-09-2007 à 21:21:51
mood
Publicité
Posté le 28-08-2007 à 16:14:54  profilanswer
 

n°1605371
durkheim
Posté le 28-08-2007 à 16:43:16  profilanswer
 

Que veux tu dire, quelle est l'erreur précisément?

n°1605388
ordipaco1
Posté le 28-08-2007 à 17:00:25  profilanswer
 

Merci pour ta reponse
 
 
En fait le premier code fonctionne très bien mais il n'est pas dynamique, comme je veux afficher 4 images sur une pages et que j'ai 6 voir 7 promos il faudrait que je puisse faire un random sur l'affichage des images.  
Le code qui affiche les images est la (si je me trompe pas)
 

Code :
  1. <?php
  2.    while ($val = mysql_fetch_array($result)) {
  3.  
  4.       if (!($i++%$nb_images_ligne))  echo "<tr>\n";
  5.       echo "\n";
  6. ?>


 
Le problème c'est que je ne sais pas comment m'y prendre. Pour incerer ce fichu random ! :(
 
 


Message édité par ordipaco1 le 28-08-2007 à 17:01:51
n°1607009
cybellips
Posté le 31-08-2007 à 21:49:20  profilanswer
 

Salut,
 
en fait le plus simple c'est de tout faire dans ta requette :

Code :
  1. SELECT * FROM  images_galerie order by rand() limit 0, $nb_images_page;


ce que ça va faire : ça va afficher les n images prises aléatoirement dans ta bdd.
 
Ludo,

n°1607069
ordipaco1
Posté le 01-09-2007 à 11:07:46  profilanswer
 

Salut ludo
 
Merci pour ta réponse=, mais ce n'est pas le nombre d'images par page que je veux changer (puique je n'en affiche que 4), mais des images choisis aléatoirement dans ma base qui s'affichent dans mes 4 empacement.
 
Merci pour ton aide

n°1607077
TheRom_S
Posté le 01-09-2007 à 11:54:16  profilanswer
 

c'est pourtant ce qu'il te propose "order by" c'est de l'anglais et ça a un rapport avec l'ordre, pas la "quantity" [:spamafote]


---------------
The Rom's, à votre service
n°1607747
ordipaco1
Posté le 03-09-2007 à 20:37:15  profilanswer
 

Génial !!!!
ca marche  
 
J’ai fait ca :
 
À la ligne 40 j'ai remplacé
 

Code :
  1. $query = "select * from images_galerie limit $image_debut, $nb_images_page;";


Par
 
 

Code :
  1. $query = "select * from images_galerie order by rand() limit $image_debut, $nb_images_page;";


 
Désolé cybellips mais tu avais raison
 
 
Merci pour votre aide a tous
 
A tres bientôt
 
Stéphan


Message édité par ordipaco1 le 03-09-2007 à 21:20:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Random page promo

 

Sujets relatifs
[RESOLU] Mettre en pause une animation flash[RESOLU] mail() smtp php.ini
[VBA]Comparaison de chaines suite à un tri. [RESOLU]Mon COOKIE revient par defaut [RESOLU]
Probleme COOKIE site multi langue[RESOLU][résolu] PHP : lire une page web et séparation paramètres
blabla@php | faq et bonnes pratiques page 1[RESOLU]Comptage impossible ou pb avec mon "left join" ?
[VBA] Via Macro Excel, Ouvrir & Editer fichier CSV [RÉSOLU] 
Plus de sujets relatifs à : [résolu] Random page promo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR