Divisé en 2 le résultat d'une requete et stocker dans 2 variable
LeMac-33
-
Profil bloqué -
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.
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:
- Divisé en 2 le résultat d'une requete et stocker dans 2 variable
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Gta 6 trailer 2 - Guide
- Faire 2 colonnes sur word - Guide
- Resultat foot - Télécharger - Vie quotidienne
3 réponses
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']
}
}
?>
<?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']
}
}
?>
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>
}
}
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>
}
}
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
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
<? 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