Requete SQL

mehdilies Messages postés 34 Statut Membre -  
mehdilies Messages postés 34 Statut Membre -
Bonjour à tous ,

j'ai la table MYSQL suivante:
====================================================

AR_REF |AT_CATEGORIE |AT_ORDRE |AT_CARACTERISTIQUE |AT_VALEUR

3000z |Plage de mesure |5 | Addition | 0 à 10 d
3000z |Plage de mesure |3 |Axe | 0 à 180°
3000z |Plage de mesure |2 |Cylindre | -10D à +10D
3000z |Plage de mesure |6 |Ecart pupillaire | 50 à 86 mm (pas : 0.5 mm)
3000z |Plage de mesure |4 |Prisme | 0 à 10 d
3000z |Plage de mesure |1 | Sphère | -80D à +80D
3000z |Précision de mesure |2 |Prisme |Coordonées polaires/cartési
3000z |Précision de mesure |1 | Sphère | + / +/- / -
===========================================================
je veux avoir un affichage de ce genre :

Plage de mesure
-----------------------
Sphère -80D à +80D
Cylindre -10D à +10D
Axe 0 à 180°
Prisme 0 à 10 d
Addition 0 à 10 d
Ecart pupillaire 50 à 86 mm (pas : 0.5 mm)
________________________________________________

Précision de mesure
---------------------------
Sphère + / +/- / -
Prisme Coordonées polaires/cartési
'
'
'
ETC

++++++++++++++++++++
j'ai essayé de le faire avec la requete suivante mais l'affichage ne corrrespond pas à ce que je veux:

==========================
$mysql_query = 'SELECT AR_REF,AT_CATEGORIE,AT_ORDRE, AT_CARACTERISTIQUE,AT_VALEUR FROM F_ARTICLETECHNIQUE WHERE AR_REF= "'.$Ref.'"ORDER BY AT_CATEGORIE ASC , AT_CARACTERISTIQUE,AT_ORDRE ;';
if( ! ($mysql_query_result = mysql_query($mysql_query, $mysql_connection)) )
die ( "Erreur de requête :" . mysql_error() . "<br>" );

while( $result = mysql_fetch_row($mysql_query_result) )
{
echo '<div id="article_technique"> <img src="../images/image_page_accueil/fleche.gif" alt="fleche" />  '.utf8_encode ($result[1]).utf8_encode ($result[2]).utf8_encode ($result[3]).utf8_encode ($result[4]).'<br></div>';

}

========================

si vous avez une ideé ?

Merci

2 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Essayes comme ça:

j'ai pas tsté il peut y avoir qqs erreurs

$mysql_query = "SELECT * FROM F_ARTICLETECHNIQUE WHERE AR_REF= '".$Ref."' GROUP BY AT_CATEGORIE ;"; 

$mysql_query_result = mysql_query($mysql_query, $mysql_connection)) ) or die ( "Erreur de requête :" . mysql_error() . "<br>" ); 

//on va empiler dans un array a multidimensions

$array_results=array();
while( $result = mysql_fetch_array($mysql_query_result) ){ 
	$array_results[$result['AT_CATEGORIE']][$result['AT_ORDRE']][0]=$result['AT_CARACTERISTIQUE'];
	$array_results[$result['AT_CATEGORIE']][$result['AT_ORDRE']][1]=$result['AT_VALEUR'];



}



foreach($array_results as $array_cat=>$array_ordre){
	echo $array_cat."<br />";
	echo "-------------------<br />";
	//on trie l'array par rapport à AT_ORDRE
	array_ksort($array_ordre);
	foreach($array_ordre as $value){
		echo $value[0]."    ".$value[1]."<br />";
	}

}
0
mehdilies Messages postés 34 Statut Membre
 
Merci beaucoup pour ton aide.

j'ai recopiée ton code et je l'ai exécute et le résultat est le suivant :
===============================================================
-------------------
Addition 0 � 10 d
Pr�cision de mesure
-------------------
Prisme Coordon�es polaires / cart�siennes / par d�placement

==============================================================
donc comme tu le vois il m'affiche pas tout c que je veux comme je le veux à savoir comme ça :

Plage de mesure
-----------------------
Sphère -80D à +80D
Cylindre -10D à +10D
Axe 0 à 180°
Prisme 0 à 10 d
Addition 0 à 10 d
Ecart pupillaire 50 à 86 mm (pas : 0.5 mm)
________________________________________________

Précision de mesure
---------------------------
Sphère + / +/- / -
Prisme Coordonées polaires/cartési
'
'
'
ETC

=============================================================
tu peux y jetter un coup d'oeil encore une fois stp car moi je ne vois pas où est le pb?

Merci encore une fois
0