Difficultés afficher des données dans while loop

Résolu
Bonjour,

J'ai des difficultés pour afficher des resultats de la base de donées dans while loop. J'ai plusiers ligne dans mes resultats. je voudrais afficher les data par mesure.

par exemple

termA
ligne 1
ligne 2
ligne 3
<br>
termB
ligne 4
ligne 5
<br>
termC
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
<br>

$terma=3;
$termb=2;
$termc=5;
$total=3+2+5;
$sql="SELECT * FROM TABLE ORDER BY RAND() LIMIT ".$total;
$result=mysqli_query($connect,$sql);
while($row = mysqli_fetch_assoc($result))
{
               ????????
}


Merci d'avance.

3 réponses

  1. Modérateur
    Bonjour,
    un truc du genre ?

    $sql="SELECT * FROM TABLE ORDER BY RAND() LIMIT ".$total;
    $result=mysqli_query($connect,$sql);
    $aDatas[] = array();
    while($row = mysqli_fetch_assoc($result))
    {
      $aDatas[] = $row;
    }
    
    
    //affichage des premiers :
    echo "<pre><h1>terma</h1><br>";
    for($i=0;$i<$terma;$i++){
      print_r($row);
      echo "<br>";
    }
    
    
    
    //affichage des seconds :
    echo "<pre><h1>termb</h1><br>";
    for($i=$terma;$i<$termb;$i++){
      print_r($row);
      echo "<br>";
    }
    echo "</pre>";
    
    
    //affichage des premiers :
    echo "<pre><h1>termc</h1><br>";
    for($i=$termb;$i<$termc;$i++){
      print_r($row);
      echo "<br>";
    }
    echo "</pre>";
    

    1. Modérateur
      Petite erreur .. ça devrait être un peu mieux:
      //affichage des premiers :
      echo "<pre><h1>terma</h1><br>";
      for($i=0;$i<$terma;$i++){
        print_r($row);
        echo "<br>";
      }
      
      
      
      //affichage des seconds :
      echo "<pre><h1>termb</h1><br>";
      for($i=$terma;$i<$termb+$terma;$i++){
        print_r($row);
        echo "<br>";
      }
      echo "</pre>";
      
      
      //affichage des premiers :
      echo "<pre><h1>termc</h1><br>";
      for($i=$termb+$terma;$i<$total;$i++){
        print_r($row);
        echo "<br>";
      }
      echo "</pre>";
      
    2. J'ai copié et collé,(modifié parapport mes code) mais affiche rien.
    3. Modérateur
      Je suis un boulet .... désolé
      Voici :
      $sql="SELECT * FROM TABLE ORDER BY RAND() LIMIT ".$total;
      $result=mysqli_query($connect,$sql);
      $aDatas[] = array();
      while($row = mysqli_fetch_assoc($result))
      {
        $aDatas[] = $row;
      }
      
      
      //affichage des premiers :
      echo "<pre><h1>terma</h1><br>";
      for($i=0;$i<$terma;$i++){
        print_r($aDatas[$i]);
        echo "<br>";
      }
      
      
      
      //affichage des seconds :
      echo "<pre><h1>termb</h1><br>";
      for($i=$terma;$i<$termb+$terma;$i++){
        print_r($aDatas[$i]);
        echo "<br>";
      }
      echo "</pre>";
      
      
      //affichage des premiers :
      echo "<pre><h1>termc</h1><br>";
      for($i=$termb+$terma;$i<$total;$i++){
        print_r($aDatas[$i]);
        echo "<br>";
      }
      echo "</pre>";
      
    4. J'ai réussi. merci jordane. you are great man.
  2. table contient 2 colonne(id_nom et nom). j'ai 3 select. chaque select contien des nombre d'un jusqua 25. je choisi numero 3(3 personne) en select 1 , numero 2(2 personne) en select 2, numero 5(5 personne) en select 3. je choisi les nom aleatoirles et je voudrais avoir les reultats comme

    terminal X
    nom 1
    nom 2
    nom 3

    terminal Y
    nom 4
    nom 5

    terminal Z
    nom 6
    nom 7
    nom 8
    nom 9
    nom10
    1. Contributeur
      bonjour, peux-tu expliquer le lien entre ton code et ton exemple? que contient ta table?
      que signifie "afficher par mesure"?