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
Configuration: Windows XP
Firefox 3.0.11

2 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  2. 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