Comparer des nombres

Wizz -  
 lmvgdc -
bonjour imaginons :
$var1 = '47';
$var1 = '42';
$var1 = '23';
$var1 = '46';
$var1 = '2';

comment comparer ces variables a des nombres qui sont déjà inséré dans une table sql afin de retourner : vous avez X numeros corrects ?

merci de votre aide

Wizz

3 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Ben déjà dans ton exemple c'est toujours la même variable donc var1=2 :-)

    Mais bon imaginons, tu mets toutes ces variables dans un tableau:
    $tableau= array(
                        '1'=>'45',
                        '2'=>"89',
                        '3'=>"21",
                         );

    Tu récupères tes nombres depuis ta base de données dans un tableau
    avec mysql_fetch_array() par exemple.
    On va mettre ça dans $tableau_mysql (avec les champs $tableau_mysql[0], $tableau_mysql[1] etc....).

    Puis compare tout ça dans une boucle avec foreach.

    $correct=0;
    foreach ($tableau_mysql as $nb_sql)
    {
                foreach ($tableau as $nb)
                {
                            if ($nb_sql==$nb)
                            {
                                      $correct++;
                            }
                 }
    } 


    En faisant comme ça par contre, si dans $tableau il y a deux éléments qui sont égaux à un même élément de $tableau_sql alors $correct sera incrémenté deux fois....
    0
    1. Wizz
       
      waou c'est super comme çà mais

      Tu récupères tes nombres depuis ta base de données dans un tableau
      avec mysql_fetch_array() par exemple. ??, pas tout compris et dans le code que tu m'as mis c'est quoi $nb_sql ? merci de ta réponse
      0
    2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      $nb_sql c'est la valeur d'un champs du tableau $tableau_mysql à telle occurence de la boucle foreach.

      Je m'explique.
      Je reprends le tableau du dessus:

      $tableau= array(
                          '1'=>'45',
                          '2'=>"89',
                          '3'=>"21",
                           );

      Si j'écris
      foreach ($tableau as $element)
      {
                   echo "$element <br>";
      }


      Je crée une boucle qui parcoure chaque élément de $tableau et le met au fur et à mesure dans $element qui va effacer sa valeur précédente (j'ai pris $element par hasard, j'aurais pu mettre $casserolle si je voulais).

      D'ailleurs cette boucle m'affichera:
      45
      89
      21


      En fait c'est l'équivalent de:
      for ($i=0;$i<count($tableau);$i++)
      {
                  $element=$tableau[$i];
                   echo "$element <br>";
      } 


      Sinon y'en a qui expliquent mieux que moi:
      http://fr2.php.net/manual/fr/print/control-structures.foreach.php

      Et pour mysql_fetch_array() je te laisse regarder ce lien:
      http://www.action-webmasters.com/tutoriaux/php/cours17.php
      0
    3. lmvgdc
       
      je veux savoir comparer les nombres
      0