Soucis sur requête sql avec MIN et MAX

WRInaute passionné
Bonjour
Je ne parviens pas à afficher la valeur min et max de la table ci dessous... pourquoi?
----------TARIF-----
-------id -------prix----------
1221056967----0
1221056967----0
1221056967----0
1221056967----0
1221056967----0
1221056967----0
1221056967----0
1221056967----999
1221056967----0
1221056967----656
Code:
<?php
include("data_bd.php");
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier data_bd.php.');

$query187 = mysql_query("SELECT MIN(prix), MAX(prix) FROM TARIF WHERE id =1221056967");

$toto="";

while($tata = mysql_fetch_array($query187))
 {
   $toto = $tata['prix'];
   $toto.="$prix";
   
   echo $toto;

 }
?>
Id et prix sont en int(250). Sous phpmyadmin sa fonctionne, mais pas ma requête ... quelle en est la raison svp ?
Merci
 
WRInaute discret
Bonjour.
Ta requête est censée retourner une seule ligne, donc le whlle est inutile.
Ensuite, MIN(prix) as prixmin,MAX(prix) as prixmax

et tu obtiendra un tableau avec pour clé 'prixmin' et 'prixmax'

Bonne soirée
 
WRInaute passionné
Un truc un peu comme cela, je crois...
Code:
<?php 
include("data_bd.php"); 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe"); 
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement rempli les donn&eacute;es du fichier data_bd.php.'); 

$query187 = mysql_query("SELECT MIN(prix), MAX(prix) FROM TARIF WHERE id=1221056967"); 
$toto = mysql_query($query187) or die('Erreur SQL !<br>'.$query187.'<br>'.mysql_error()); 

echo $toto; 
?>
 
WRInaute discret
Code:
<?php 
include("data_bd.php"); 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe"); 
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier data_bd.php.'); 

$query187 = mysql_query("SELECT MIN(prix) as prixmin, MAX(prix) as prixmax FROM TARIF WHERE id =1221056967"); 

$toto=""; 

$tata = mysql_fetch_array($query187);
 
$toto = $tata['prixmin']; 
$toto.=$tata['prixmax']; 
    
   echo $toto; 

  
?> 
Mais la tu vas concaténer les deux valeurs... si tu veux els afficher séparément ca fait echo $tata['prixmin'];  echo $tata['prixmax'];
P.S : Aye Aye, ton code va afficher la ressource, pas le résultat.
 
WRInaute passionné
J'ai pas saisie cette partie .
poulpe a dit:
MIN(prix) as prixmin,MAX(prix) as prixmax
A quoi correspond prixmin et prixmax ?

Ma requête sql actuelle utilise un while car elle est censé retourner plusieurs ligne par la suite .. la c'est juste un teste ^^.

Donc en imaginant que la table du poste plus haut soit "pleine" et que l'id actuelle soit une variable du genre "$id", pourquoi je n'ai aucun résultat retourné en l'état ?

Merci de vos lumières :).
 
WRInaute discret
pourquoi grouper si on précise une id dans le where ?
Tryan j'ai édité mon post en mettant le code.
Le as sert à nommer ton champ, dans phpmyadmin tu verras que la colonne doit s'intituler MIN(prix) ou un truc dans le genre.
 
WRInaute discret
vrai lu trop vite.

Et habitude de grouper dès utilisation d'agrégat :)

[hs]Bon ils arrivent mes sushis j'ai faim...[/hs]
 
WRInaute passionné
Ok :D , je ne connaissais pas la syntaxe sql lié à MIN() et MAX() avec "as" ... j'étais loin de trouver, même très très loin ^^...
Je vous remercie de vos lumières et je tacherais de m'en souvenir.
Merci^^.
 
WRInaute accro
tu devrais lire un mini cours sur le SQL. c'est dans les premières pages ;) C'est quand même dingue de se lancer dedans comme ça à l'aveugle, enfin bon ...
 
Discussions similaires
Haut