Récupérer informations de champ d'une table mysql

Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 - 29 déc. 2007 à 16:51
jspimen Messages postés 40 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 24 novembre 2010 - 24 avril 2008 à 10:38
Salut à tous,

n'ayant pas trouvé de question similaire, je vous soumets mon problème :

je cherche à faire un script gérant des tables de manière entièrement dynamique.
je ne connais donc aucune information préalable sur la table qui va être choisie par l'utilisateur dans une liste. Cette liste étant dynamique et pouvant être importante, je ne souhaite pas gérer chaque table de manière spécifique mais bien de manière automatique.

pour l'instant j'ai réussi à afficher la table, avec les noms des champs.
je génère également un formulaire d'ajout dynamique, avec des input différents selon les types des champs.

cependant il est possible qu'un champ possède l'attribut auto_increment. dans ce cas, il ne doit pas être choisi par l'utilisateur. je voudrais donc filtrer les champs possédant cette propriété lors de ma boucle de parcours des champs (for $i=0; $i<$nbchamps; $i++)
avec un if () et dans le cas où c'est auto_increment, je saute la procédure de génération de balise input.

de la même manière, une table peut être liée à une autre avec une clef étrangère. dans ce cas, il n'est pas utile de proposer la saisie d'un ID de la forme 1013578 mais plutôt d'afficher une liste des entrées de la table associée, permettant à l'utilisateur de faire un choix sans erreur possible.

je ne parviens pas à trouver les fonctions me permettant de retrouver ses informations.
si quelqu'un veut bien m'aider pleeeeaaase

merci beaucoup et bonne fin de fêtes.

Loki

7 réponses

Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
29 déc. 2007 à 17:16
bon en fait je viens de trouver la solution pour le premier problème

je fais un mysql_field_flags(). et ensuite un test de présence de la chaine auto_increment avec strpos().

grâce à ça je peux vérifier la présence de clef étrangère (multiple_key). mais ça ne m'indique pas quelle est la table associée. je me demande d'ailleurs si on peut obtenir ce renseignement.

Merci de vos réponses futures.

Loki
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
30 déc. 2007 à 10:47
si tu a trouvé la réponse a ton problème met la réponse en réponse accepté !!!

A++

 
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 déc. 2007 à 11:19
Hello,

regarde du côté des SHOW ... sous mysql. Ou DESCRIBE ...
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
30 déc. 2007 à 23:37
j'ai trouvé une réponse sur les deux. si je mets réponse acceptée, plus personne viendra m'aider ^^

je vais regarder encore, même si j'ai déjà abordé les show et describe vite fait. merci pour la suggestion.

Loki
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
2 janv. 2008 à 10:43
n'ayant rien trouvé, j'ai triché

j'ai créé une table où je recense les clefs étrangères entre mes autres tables. c'est dégueulasse comme travail mais bon. du coup à chaque fois que je détecte un attribut multiple_key dans un champ, je vais voir dans cette table ce qu'il est dit et je traite en fonction.

je laisse le sujet en suspens au cas où quelqu'un aurait l'idée du siècle.

Loki
0
jspimen Messages postés 40 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 24 novembre 2010
24 avril 2008 à 10:33
imy
0
jspimen Messages postés 40 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 24 novembre 2010
24 avril 2008 à 10:38
j'ai crée une base de donnée mysql et access et j'aime faire une teste sur les sur les champs des tables de cette base pour faire la correspondance entre les champs avec une code jsp
si quelqu'un veut bien m'aider slv.
0
Rejoignez-nous