Hasard, aléatoire et php

Bonjour,
Sur quelle piste dois-je me tourner pour trouver des scripts ou tutos afin de faire une petite boite à la fin d'un article qui afficherais:

A lire aussi:
Lien x
Lien x
Lien x

Et qui changerai à chaque rafraichissement de la page, et que les liens vers les autres articles soient tirés d'une page à part (txt, php...)

Merci de votre aide!
Configuration: Windows Vista
Firefox 3.0.12

10 réponses

  1. salut, au cas ou, j'ai ce script qui affiche des bannieres au hasard parmis les 4 proposes a chaque fois que la page est actualisee, si ca peut t'aider un peu, voici le script ^^

    <script language="javascript">
    <!--
    var nombre = 4;
    var temps = new Date()
    var seconde = temps.getSeconds()
    var banniere = seconde % nombre;
    banniere +=1;
    if (banniere==1) {
    url="http://www.site1.com";
    alt="site1";
    banner="http://www.ban1.jpg";
    width="468";
    height="60";
    }
    if (banniere==2) {
    url="https://www.site2.com/";
    alt="site2";
    banner="http://www.ban2.gif";
    width="468";
    height="60";
    }
    if (banniere==3) {
    url="http://www.site3.com";
    alt="site3";
    banner="http://www.ban3.gif";
    width="468";
    height="60";
    }
    if (banniere==4) {
    url="http://www.site4.com";
    alt="site4";
    banner="http://www.ban4.gif";
    width="468";
    height="60";
    }
    document.write('<a href=\"'+url+'\" target=\"_blank\">');
    document.write('<img src=\"'+banner+'\" width=')
    document.write(width+'height='+height+'');
    document.write('alt=\"'+alt+'\" border=0></a>');
    //-->
    </script>

    @++.......
    2
    1. Salut,

      Pas forcément si on indique à php de trouver autre chose si la ligne est vide :

      $dernierid = mysql_query('SELECT id FROM portfolio ORDER BY id DESC LIMIT 0,1'); //On récupère le dernier ID enregistré dans la BDD.
      
      $idaleat = rand(1, $dernierid); //On récupère un nombre au hasard entre 1 et le nombre max d'ID.
      @$req = mysql_query('SELECT * FROM portfolio WHERE id = \'idaleat\' ') ; //Récupération de la requete
      
      if (@mysql_num_rows($req)>0){ //Si la ligne existe...
      			@$rep = mysql_fetch_object($req); //...On récupère les infos avec REP
      }
      
      Sinon il ne se passe rien !
      Bien entendu, avec un joli croisement entre ce code et un petit "while", on devrait arriver à créer une belle boucle qui relancera la requette tant que la ligne est vide.
      
      
      
      bonne journée à tous !
      
      


      1
      1. C'est vrai. Pourquoi fais simple quand on peut faire compliqué...
        0
    2. Salut,

      pour le aléatoire utilise la fonction php rand(min, max)
      Elle choisie un nombre entre min et max inclues.

      Après pour tes liens, tu peut te servir d'une base de donner contenant X liens numéroté de 1 a X et quand tu charge ta page, tu fais 3 rand(1, X) successif, qui te donne 3 chiffres ou chaque chiffre correspond a un lien différent...c'est a mon avis la technique la plus simple a réaliser (mas pas forcement la plus optimisé lol)
      0
      1. Merci messieurs,
        Je comprends rien à ce que vous dites mais je vais faire des recherches et étudier le lien avec vos infos.

        Je suis un vrai débutant, alors, si vous avez quelque chose de simple, n'hésitez pas!
        Merci!
        0
        1. merci aussi pour ton aide, mais je penchais plutôt pour une solution en php, que pensez vous de cette solution (qui marche) à propos de la securite, le referencement (car les liens changeront souvent)?:

          <?php
          $pages = array('1.php', '2.php', '3.php', '4.php', );
          $page = array_rand($pages);
          if (file_exists($pages[$page])) { 
              include($pages[$page]);
          }
          ?>


          Et dans chaque page (1.php, 2.php....) les liens à inserer aléatoirement.
          0
          1. Bonsoir,
            Personne n'a d'idée?
            0
            1. Salut

              Pour générer une variable aléatoire, rien de mieux que la fonction rand()

              exemple :
              echo rand(5, 15);
              // Affiche un chiffre entre 5 et 15.

              De là, tu peux utiliser ce chiffre pour chercher des ID dans ta base SQL
              Tu combines quoi ...

              bonne chance

              0
              1. Salut. A mon avis, c'est un peu risqué d'utiliser la fonction rand() de php. Si un article a été supprimé et que le chiffre tiré est celui de cet article, il risque d'y avoir une belle erreur.
                A ta place, si tu utilises une base de données, utilise plutôt la fonction rand() de mysql.
                $sql = 'SELECT * FROM articles ORDER BY RAND() LIMIT 1';

                0
                1. Merci pour vos réponses, mais je ne connais pas assez le mysql pour le momment.

                  Cette solution marche, et je voulais savoir ce que vous en pensiez de façon générale et sécurité, s'il faut améliorer...

                  <?php
                  $pages = array('1.php', '2.php', '3.php', '4.php', );
                  $page = array_rand($pages);
                  if (file_exists($pages[$page])) { 
                      include($pages[$page]);
                  }
                  ?>


                  les pages 1.php, 2.php contiennent les liens à inclure aléatoirement.

                  Merci!
                  0