![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: novembre 2007
Messages: 31
|
bonjour!
J'ai deux requêtes imbriquées, (vori code ci-dessous, j'écris ca vite fait, il peux y avoir des erreurs :-)) . La variable $valeur est le produit de la sous-requête. J'aurais besoin de savoir svp si il était possible d'effectuer une opération de tri ASC et DESC selon cette variable $valeur. Comme elle n'est issue que de la sous-requête, je me demande si c'est techniquement faisable. Si c'est possible avez vous une idée de la façon de le réaliser ??? Merci pour votre aide ! Fx Code :
$query = "select * from `table`";
$result = mysql_query($query);
$i=1;
while ( $row = mysql_fetch_array($result))
{
$id = $row["id"];
$query2 = "select * from `table2` WHERE id='$id '";
$result2 = mysql_query($query2);
while ( $row2 = mysql_fetch_array($result2))
{
$valeur = $row2["valeur"];
echo "bla bla bla bla";
}
}
$i++;
|
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: décembre 2007
Localisation: Paris
Âge: 21
Messages: 886
|
En ajoutant la mention ORDER BY dans ta requête SQL ?
Code :
$query = "select * from `table`";
$result = mysql_query($query);
$i=1;
while ( $row = mysql_fetch_array($result))
{
$id = $row["id"];
$query2 = 'select * from `table2` WHERE id='.$id.' ORDER BY valeur DESC';
$result2 = mysql_query($query2);
while ( $row2 = mysql_fetch_array($result2))
{
$valeur = $row2["valeur"];
echo "bla bla bla bla";
}
}
$i++;
|
|
|
|
|
|
#3 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: novembre 2007
Messages: 31
|
salut,
hmm non en fait j'ai besoin de faire un "order BY valeur DESC" sur la requête n°1 $query, alors que valeur est justement le produit de la sous-requête. J'ai un problème de chronologie dans mes évènements ! |
|
|
|
|
|
#4 (permalink) |
|
Membre émérite
![]() Date d'inscription: septembre 2006
Messages: 879
|
Salut,
Si j'ai bien compris : Etape 1 : select * from table; qui te permet de récupérer l'id Etape 2 : select * from table2 where id=id order by valeur Etape 3 : tu récupères la valeur. Ton objectif c'est de faire un order by la valeur que tu récupère en étape 3 sur la requete de l'étape 1? Tu as effectivement un problème de chronologie!! Donne nous plus d'infos pour pouvoir t'aider. |
|
|
|
|
|
#5 (permalink) |
|
Invité régulier
![]() Date d'inscription: octobre 2008
Messages: 16
|
et si tu faisais
Code :
$query=" SELECT table.id,table2.valeur FROM `table` LEFT JOIN table2 ON ( table2.id=table.id) WHERE table2.id IS NOT NULL ORDER BY table2.valeur ASC" Code :
$result = mysql_query($query); $i=1; while ( $row = mysql_fetch_array($result)) { $id=$row["id"]; $valeur = $row["valeur"]; echo "bla bla bla bla"; } $i++; |
|
|
|
|
![]() |
![]() |
||
Question un tri un peu particulier
|
||
| Outils de la discussion | |
|
|