IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Problème de SHOW COLUMNS


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Par défaut Problème de SHOW COLUMNS
    Hello

    Pour obtenir le type précis (p.ex. SMALLINT(6)) de toutes les colonnes d'une table, j'utilise SHOW (FULL) COLUMNS FROM table.

    Je récupère le résultat au moyen d'une boucle en PHP. Mais ensuite, je ne sais pas quoi utiliser pour récupérer les types de mes colonnes 1 à 1.

    Car en utilisant mysql_fetch_row _assoc _... j'obtiens toujours (avec un print_r) :

    le type de la 1ère colonne de la 1ère table : x fois - ensuite :
    le type de la 1ère colonne de la 2ème table : x fois, etc. etc. etc.
    (x correspond au nombre de lignes de la table concernée !)

    Apparemment, je liste ligne par ligne au lieu de lister colonne par colonne, mais c'est toujours le cas. J'ai pourtant essayé plusieurs fonctions PHP, offsets à 0, etc.

    Quelqu'un aurait une idée ?

    Merci d'avance !

    Greentypem (débutant en php MySQL...)

  2. #2
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Bonjour,

    A mon avis c'est plus un probleme dans tes boucles et donc, un probleme php.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Par défaut
    Mais même en-dehors d'une boucle, le listage est toujours donné ainsi !

    Extrait de code (il créé du code SQL à partir de bases, mais n'est pas fini : son but est d'extraire un bout de db dans un fichier texte à la sauce phpMyAdmin)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    mysql_select_db($base[$i]['name']);
    echo $requete_columns = 'SHOW COLUMNS FROM '.$base[$i][$j]['name'];
    $resultat_columns = mysql_query($requete_columns) or die (mysql_error());
    $full_columns = mysql_fetch_assoc($resultat_columns);
     
    echo '<pre>';
    print_r ($full_columns);
    echo '</pre><hr>';		
     
     
    $base[$i][$j][$k]['type'] = $full_columns['Type'];
     
    $code .= '`'.$base[$i][$j][$k]['name'].'` '.$base[$i][$j][$k]['type'].$r;
    Par exemple, ce code peut donner ça à l'écran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `t_adr` {
    `key` tinyint(...) ...
    `Nom` varchar(....) ...
    `Prénom` ...
    PRIMARY KEY (`key`)
    }

  4. #4
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    euh..... c'est bien ce que je disais, c'est un probleme dans ton code php
    il est ou le while() pour avoir tous tes resultats?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql_select_db($base[$i]['name']);
    echo $requete_columns = 'SHOW COLUMNS FROM '.$base[$i][$j]['name'];
    $resultat_columns = mysql_query($requete_columns) or die (mysql_error());
    while ($full_columns = mysql_fetch_assoc($resultat_columns)) {
    
    $base[$i][$j][$k]['type'] = $full_columns['Type'];
    $base[$i][$j][$k]['name'] = $full_columns['Name'];
    ....etc....
    }
    //et la tu concatennes pour l'affichage
    $code .= '`'.$base[$i][$j][$k]['name'].'` '.$base[$i][$j][$k]['type'].$r;

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Par défaut
    Edit : Désolé, je n'avais pas vu que tu avais modifié mon code ... En effet, je n'ai pas utilisé de boucle à cet endroit. Je vais essayer de vérifier mon code à nouveau. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de Show
    Par baggie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/10/2007, 20h12
  2. Problème DBGrid avec Columns mentionnées et PickList
    Par othland dans le forum Composants VCL
    Réponses: 6
    Dernier message: 25/09/2007, 10h59
  3. [MySQL] Show Columns avec un Where?
    Par Prosis dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/11/2006, 16h19
  4. show columns -> juste le nom des colonnes ?
    Par squatmate dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/01/2006, 10h11
  5. L'equivalent de "show columns"(MYSQL) en SQL Serve
    Par robluce dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/10/2004, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo