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

Fermé
LeMac-33 - 14 févr. 2013 à 16:51
 Profil bloqué - 14 févr. 2013 à 18:34
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.

A voir également:

3 réponses

Profil bloqué
14 févr. 2013 à 17:03
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
Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 156
Modifié par Tatanos le 14/02/2013 à 17:18
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
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
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
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
Profil bloqué
14 févr. 2013 à 18:21
tu peux copier / coller ton bout de code stp ???? je comprends pas !
0
<? 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
Profil bloqué
14 févr. 2013 à 18:26
c'est parce que tu fais echo $reference; (qui s'est arreté au 602)
il faut que tu appelles $reference1 aussi...
0