Fonction sql pour trouver le nom d'une table
Résolu/Fermé
tuqqujaujuq
Messages postés
2
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008
-
9 janv. 2008 à 14:56
tuqqujaujuq Messages postés 2 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 9 janvier 2008 - 9 janv. 2008 à 21:16
tuqqujaujuq Messages postés 2 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 9 janvier 2008 - 9 janv. 2008 à 21:16
Bonjour,
existe-t-il un e fonction php/mysql permettant de trouver à quelle table appartient une donnée?
pex ds quelle table se trouve le nom "jacques"?
merci pour l'amateur que je suis
tuqqujaujuq
existe-t-il un e fonction php/mysql permettant de trouver à quelle table appartient une donnée?
pex ds quelle table se trouve le nom "jacques"?
merci pour l'amateur que je suis
tuqqujaujuq
A voir également:
- Fonction sql pour trouver le nom d'une table
- Table ascii - Guide
- Fonction si et - Guide
- Table des matières word - Guide
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
6 réponses
ca me semblait un peu lourd pour son utilisation.
ça n'est quand même pas si compliqué que ça ...
ça n'est quand même pas si compliqué que ça ...
<?php $dbServer="localhost"; $dbName="essai"; $User="xxxxxx"; $Pwd="xxxxxx"; $cnx = mysql_connect($dbServer, $User, $Pwd ); $db = mysql_select_db($dbName); $valeurcherchee= "jacques"; $rep = mysql_db_query($dbName,'show tables in essai') or die (mysql_error()); $tbl=array(); while ($lgn=mysql_fetch_array($rep)) $tbl[]=$lgn[0]; mysql_free_result($rep); foreach ($tbl as $table) { $rep= mysql_db_query($dbName,'SHOW COLUMNS FROM `'.$table.'` FROM '.$dbName) or die (mysql_error()); $tbcolonnes=array(); while ($lgn=mysql_fetch_array($rep)) $tbcolonnes[]=$lgn[0]; foreach ($tbcolonnes as $colonne) { $rep= mysql_db_query($dbName,'SELECT * FROM `'.$table.'` WHERE CONCAT(`'.$colonne. '`) =\''.mysql_real_escape_string($valeurcherchee).'\'') or die (mysql_error()); echo " trouvé ",mysql_num_rows($rep), " fois dans la colonne ", htmlspecialchars($colonne), ' de la table ', htmlspecialchars($table),'<BR>'; mysql_free_result($rep); } // foreach ($tblcolonnes } // foreach ($tbl ?>
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
9 janv. 2008 à 14:57
9 janv. 2008 à 14:57
tu dois simplement faire autant de requetes qu'il y a des tables à fouiller
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
9 janv. 2008 à 15:20
9 janv. 2008 à 15:20
Encore faut-il connaitre la structure de la base et des tables, afin de pouvoir faire des requête qui tiennent la route.
Si tu connais tout ca tu devrait donc savoir dans quelles tables cette information peut etre présente.
Si tu connais tout ca tu devrait donc savoir dans quelles tables cette information peut etre présente.
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
9 janv. 2008 à 16:09
9 janv. 2008 à 16:09
depuis quand la structure d'une table a de quoi avoir avec ce quelle contient. tu cherches une donnée et pas un élément de la structure de la table
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
9 janv. 2008 à 16:31
9 janv. 2008 à 16:31
Je veux dire par là que si tu souhaite trouver une informations dans une base de données, il faut bien connaitre la structures de ses tables pour effectuer une requete sql non ?
Dans le cas contraire je veux bien un exemple car je ne connais pas.
Dans le cas contraire je veux bien un exemple car je ne connais pas.
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
>
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
9 janv. 2008 à 16:49
9 janv. 2008 à 16:49
malheureusement c'est php/mysql, mais normalement (sous windows) tu utilisera probablement ADO pour te connecter à la base. ADO te fournit le catalogue (la liste de table), la structure d'une table et plus
je suis certain que même sans ADO il y a qq chose de similaire dans php/mysql. au moins la API pour ODBC contient cette fonctionalité. le reste se trouvera sur google.
je suis certain que même sans ADO il y a qq chose de similaire dans php/mysql. au moins la API pour ODBC contient cette fonctionalité. le reste se trouvera sur google.
le père
>
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
9 janv. 2008 à 16:58
9 janv. 2008 à 16:58
malheureusement c'est php/mysql, mais normalement (sous windows) tu utilisera probablement ADO pour te connecter à la base ???
Je n'ai jamais utilisé ADO pour me connecter à ma base mysql sous windows. Ou alors comme M.Jourdain...
la requête show tables in base marche très bien en PHP/mysql
Je n'ai jamais utilisé ADO pour me connecter à ma base mysql sous windows. Ou alors comme M.Jourdain...
la requête show tables in base marche très bien en PHP/mysql
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
>
le père
9 janv. 2008 à 17:13
9 janv. 2008 à 17:13
Je suis d'accord que tu peux avoir la structure de ta base avec show tables, mais il ne faut pas oublier qu'on est dans le contexte d'un script PHP, donc il faudrait alors développer un moteur d'interprétation du résultat de show table pour construire dynamiquement ses requetes en fonction des noms de table, champs, etc... c'est tout à fait réalisable mais ca me semblait un peu lourd pour son utilisation.
N'y a-t-il rien d'autre qui existe ?
N'y a-t-il rien d'autre qui existe ?
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
>
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
9 janv. 2008 à 18:22
9 janv. 2008 à 18:22
je ne sais pas pour mysql mais dans chaque base sérieuse tu peux continuer avec qq chose comme ça
SHOW FIELDS IN nomtable
puis en boucle
for each table in <resultat de SHOW TABLES IN nombase>
for each field in <resultat de SHOW FIELDS IN nomtable>
do stuff
FieldList = FieldList & field.name & ", "
next
next
SHOW FIELDS IN nomtable
puis en boucle
for each table in <resultat de SHOW TABLES IN nombase>
for each field in <resultat de SHOW FIELDS IN nomtable>
do stuff
FieldList = FieldList & field.name & ", "
next
next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tuqqujaujuq
Messages postés
2
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008
9 janv. 2008 à 21:16
9 janv. 2008 à 21:16
c'est sympa d'aider les petits amateurs!