1 Dernière modification par Morty (03-08-2006 10:58:02)

Sujet : MySQL, s?lectionner des noms de champs

Voilà j'ai une table genre :

MATABLE (Champ1, Champ2, Champ3, Champ4).

Comme je voudrais créer des ORDER BY personnalisés, j'ai fait une fonction qui contient ça :

        $orders = array ('Champ1','Champ2','Champ3','Champ4'); --> que je cherche à remplacer pour ne plus dépendre de la table en question
        $request .= " ORDER BY ".$orders[$_GET['orderby']]." ";

Je cherche à sélectionner le nom des champs (Champ1, etc.) pour avoir un tableau contenant les possibilités d'ORDER BY.

Merci d'avance,

2

Re : MySQL, s?lectionner des noms de champs

Essaie quelque chose comme sur cette page :

/**
        *    Fetches column names for a table or query
        *    @param string optional, otherwise uses last query result
        *    @return array
        */
    
    function field_names($tableName = '')
    {
        $oldRes = $this->res;
        
        if ($tableName)
        {
            $this->safe_query("SELECT * FROM $tableName LIMIT 0",
            "MySQL->field_names ERROR: Table: $tableName does not exist<br>");                
        }            
        
        $numFields = mysql_num_fields($this->res);
        for($i = 0; $i < $numFields; $i++)
            $names[] = mysql_field_name($this->res, $i);
            
        $this->res = $oldRes;
        return $names;
    }

(Google mysql retrieve fields name)

3

Re : MySQL, s?lectionner des noms de champs

Merceacy !
En gros je tâche de prendre une requête avec du résultat nul, et je demande le nom des colonnes. J'avais plutôt cherché en français mais bon, mauvaise habitude de facilité.