[PHP] Lister les champs d'une table

Lister les champs d'une table [PHP] - PHP - Programmation

Marsh Posté le 14-06-2004 à 17:59:48    

Bonjour je voudrais avoir dans un tableau tous les noms des champs d'une table. J'ai regardé dans le manuel els fonctions mysql_list_fields et mysql_field_name mais je ne comprends pas bien le fonctionnement.... quand il disent que mysql_list_fields retourne un pointeur... cela veut dire que j'ai directeemnt mon tableau ou pas?
 
Est-ce que je fais simplement cela $fields=mysql_list_fields($db_name,$table,$link);
et $fields sera momn tableau de champs?
 
Merci!

Reply

Marsh Posté le 14-06-2004 à 17:59:48   

Reply

Marsh Posté le 14-06-2004 à 19:06:25    

et avec une requete "show table" ?


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-06-2004 à 19:11:49    

T509 a écrit :

et avec une requete "show table" ?


"show table"?
C'est pour quel SGBD ca?
 
C'est pas plutôt un "DESC 'latable'" qu'il faudrait faire?

Reply

Marsh Posté le 14-06-2004 à 19:21:53    

harrysauce a écrit :

"show table"?
C'est pour quel SGBD ca?
 
C'est pas plutôt un "DESC 'latable'" qu'il faudrait faire?


 
la syntaxe exacte est :
SHOW COLUMNS FROM `ta_table`
 
DESC sert pour les tri decroissant


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-06-2004 à 19:25:50    

T509 a écrit :

la syntaxe exacte est :
SHOW COLUMNS FROM `ta_table`
 
DESC sert pour les tri decroissant


 
Et c'est mieux qu'un mysql_list_fields. :)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 14-06-2004 à 19:29:15    

Je n'ai jamais utilisé mysql_list_fields. Donc je ne peux pas comparer. Cela dépend de l'utilisation que tu veux en faire. Cela ne m'étonnerai pas que ce soit 2 choses strictement équivalentes
 
Cette syntaxe vient du moment ou je travaillait sur un serveur BDD en ligne de commandes. Avec PHP il faut l'utiliser avec un mysql_query()


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-06-2004 à 19:57:04    

T509 a écrit :

Je n'ai jamais utilisé mysql_list_fields. Donc je ne peux pas comparer. Cela dépend de l'utilisation que tu veux en faire. Cela ne m'étonnerai pas que ce soit 2 choses strictement équivalentes


 
mysql_list_fields est déprécié depuis un moment, la norme conseille d'utiliser SHOW COLUMNS à la place.
 
Mais bon.
 
Edit : COLUMNS et pas TABLE. [:spamafote]


Message édité par sielfried le 14-06-2004 à 20:31:30

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 14-06-2004 à 20:14:55    

T509 a écrit :

la syntaxe exacte est :
SHOW COLUMNS FROM `ta_table`
 
DESC sert pour les tri decroissant

:heink:  
Tappe "DESC tatable" dans ton SGBD et tu vas voir si ca sert qu'au tri décroissant :na:

Reply

Marsh Posté le 14-06-2004 à 20:26:39    

Je ne connaissais pas. c'est un alias de SHOW TABLE.
Sorry


Message édité par T509 le 14-06-2004 à 20:34:40

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-06-2004 à 20:26:39   

Reply

Marsh Posté le 14-06-2004 à 20:33:46    

harrysauce a écrit :

:heink:  
Tappe "DESC tatable" dans ton SGBD et tu vas voir si ca sert qu'au tri décroissant :na:

il voulait dire order by truc desc ;)

Reply

Marsh Posté le 14-06-2004 à 20:35:26    

chacal_one333 a écrit :

il voulait dire order by truc desc ;)


nan, sans blague :pt1cable:

Reply

Marsh Posté le 14-06-2004 à 20:36:58    

harrysauce a écrit :

:heink:  
Tappe "DESC tatable" dans ton SGBD et tu vas voir si ca sert qu'au tri décroissant :na:


harrysauce a écrit :

nan, sans blague :pt1cable:


 
Ces 2 réponses sentent le mépris. je n'aime pas !!!


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-06-2004 à 20:39:40    

T509 a écrit :

Je ne connaissais pas. c'est un alias de SHOW TABLE.
Sorry

Spa l'inverse plutôt? (show table qui serait un alias de DESC)
Parce qu'en cours on l'a jamais vu le show table, alors que le DESC on s'en servait sans cesse, et surtout je trouve rien se rapportant à un "show table" sur le site d'oracle (je suis p'tet passé à côté)

Reply

Marsh Posté le 14-06-2004 à 20:41:23    

T509 a écrit :

Ces 2 réponses sentent le mépris. je n'aime pas !!!

La première pas du tout, la seconde totalement :o
 [:spamafote]

Reply

Marsh Posté le 14-06-2004 à 21:04:38    

ben au lieu de dire de la merde, dit les vrai truc, ca evitera qu'on dise a notre tour de la merde pour te corrigé

Reply

Marsh Posté le 14-06-2004 à 22:40:41    

chacal_one333 a écrit :

ben au lieu de dire de la merde, dit les vrai truc, ca evitera qu'on dise a notre tour de la merde pour te corrigé


 :pfff:  
Sauf que j'ai pas dit de la merde et que mon truc est totalement correct [:spamafote]


Message édité par harrysauce le 14-06-2004 à 22:42:09
Reply

Marsh Posté le 14-06-2004 à 23:59:07    

harrysauce a écrit :

Spa l'inverse plutôt? (show table qui serait un alias de DESC)


//edit  
 
Ah oui, le DESC d'Oracle... Non, c'est juste l'abréviation de DESCRIBE, pas un alias de SHOW


Message édité par naceroth le 15-06-2004 à 00:03:16
Reply

Marsh Posté le 15-06-2004 à 00:50:00    

naceroth a écrit :

//edit  
 
Ah oui, le DESC d'Oracle... Non, c'est juste l'abréviation de DESCRIBE, pas un alias de SHOW

ok, merci  :jap:

Reply

Marsh Posté le 15-06-2004 à 07:17:14    

Désolé de pas avoir répondu, je suis finalement parti. Le but est de récupérer les noms de champs pour faire une fonction de recherche quelque soit la table.
Merci pour les conseils je vais essayer avec un mysql_query alors :)

Reply

Marsh Posté le 15-06-2004 à 08:35:14    

Code :
  1. <?php
  2. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  3. $fields = mysql_list_fields("database1", "table1", $link);
  4. $columns = mysql_num_fields($fields);
  5. for ($i = 0; $i < $columns; $i++) {
  6.    echo mysql_field_name($fields, $i) . "\n";
  7. }
  8. ?>

Reply

Marsh Posté le 15-06-2004 à 11:03:06    

Merci! :) C'est excellent!
Mais quand ils disent que mysql_list_fields() n'est plus trop apprécié ca veut dire qu'il risque de disparaitre dans le futur et rendre mon code incompatible?
Enfin j'ai fait avec un requete ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed