Divisé en 2 le résultat d'une requete et stocker dans 2 variable

LeMac-33 -  
 Profil bloqué -
Bonjour a tous,
j'ai un petit souci sur le résultat d'une requete SQL.

Je reçois ma réponse dans des variables, que j'affiche ensuite dans une boucle while.
[php]while ($row = mysql_fetch_array($result) )
{

$reference = $row['reference'];
$nom = $row['nom'];/php

mais j'aimerai que $reference et $nom recoivent un nombre limite de résultat (la moitié du total) et que le reste se stock dans 2 autres variables.
Un petit exemple pour être concret.
ma requete contient 18 résultats. J'aimerai que $reference et $nom contiennent les 9 premiers résultat et que $referencesuite et $nomsuite contiennent les 9 autres.

Comment faire un truc comme ca ?

Merci d'avance de votre aide.

3 réponses

  1. Profil bloqué
     
    ola

    <?php
    $i=0;
    while ($row = mysql_fetch_array($result) )
    {
    $i++;
    if($i<10){
    $reference = $row['reference'];
    $nom = $row['nom']
    }
    else{
    $referencesuite = $row['reference'];
    $nomsuite = $row['nom']
    }

    }
    ?>
    0
  2. Tatanos Messages postés 1263 Statut Membre 156
     
    Bonjour,

    Pourquoi ne pas, premièrement, tout entrer dans un Array (dans ton While), et ensuite tu fais un :

    for ($i=0; $i<count($array)-1; i++)
    {
    if($i<(count($array)/2)){

    //<ici tu as la 1ere moitié du tableau>

    }
    else{

    //<et là la 2me>

    }
    }
    0
  3. LeMac-33
     
    Merci pour vos réponses.
    J'ai donc essayé la solution de Waelb83, mais ca ne marche pas il me stock la même chose dans les variables $referencesuite et $reference

    Et pour la solution de Tatanos, je n'ai pas bien saisi.

    mon problème c'est que travaille sur un script fpdf.

    et mon while m'affiche 4 celulles a la ligne
    comme ceci : $reference $nom $refencesuite $nomsuite
    le tout géré par des Cell
    0
    1. Profil bloqué
       
      c'est pas possible que ca ne marche pas ! : )
      si tu as 18 résultats les 9 1ers sont obligatoirement dans la 1ere variable et les autres dans la 2nde (à moins que tu en ais moins que 9)
      0
    2. LeMac-33
       
      En fait la variable $reference stocke les 9 premier résultat et 9 fois le dernier....
      soit : 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 9 9
      0
    3. Profil bloqué
       
      tu peux copier / coller ton bout de code stp ???? je comprends pas !
      0
    4. LeMac-33
       
      <? session_start();
      
      
      $serveur = mysql_connect("192.168.1.20","root","") or die("erreur de connexion au serveur ");
      $db= mysql_select_db('table', $serveur);
      $rq_standard ="SELECT reference, nom from HL180AT_24 where prix='0'";
      $result = mysql_query($rq_standard);
      $montableau=array();
      
      $k=1;
      while($servicetab= mysql_fetch_array($result,MYSQL_NUM)) {
      	
      
      if($k<9){ 
      
      		$reference = $servicetab[0];
      		$nom = $servicetab[1];
      		array_unshift ($montableau, $servicetab);
      
      	}
      	else {
      		$reference1 = $servicetab[0];
      		$nom1 = $servicetab[1];
      		array_unshift ($montableau, $servicetab);
      	
      	}
      			
      $k++;
      
      
      echo $reference;
      echo "<br/>";
      }
      
      ?>


      et le résultat :
      STR-203
      STR-300
      STR-308
      STR-400
      STR-501
      STR-503
      STR-504
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      STR-602
      0
    5. Profil bloqué
       
      c'est parce que tu fais echo $reference; (qui s'est arreté au 602)
      il faut que tu appelles $reference1 aussi...
      0