Lister les element d'une table vide

[Résolu/Fermé]
Signaler
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
-
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
-
Bonjour,
j'aimerais pouvoir récupérer les éléments vide d'une table afin que l'utilisateur les renseignes lui même.

Voici mon code php/sql:

public function listeElementTable($table)
    {
	    $req = $this -> bdd -> query("SELECT * FROM ".$table);
	    while($don = $req -> fetch(PDO::FETCH_ASSOC))
	    {
		    return $don;
	    }
    }


Et la return ne retourne rien car la table passé en paramètre est vide. Ce que je voudrais, c'est récupérer les champs de cette table comme ceci:
id
nom
prenom
adresse
...
Mais comment faire???

Merci d'avance pour votre aide précieuse.

2 réponses

Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
226
Salut,

D'habitude, et pour éviter de mettre en faille la confidentialité de la base de données, on le fait manuellement !

Donc si vous voulez créer un formulaire HTML pour alimenter cette table, et puisque vous connaissez déjà le schéma de la base de données, vous devez créer les champs <input> manuellement, un par un ...

Je ne vois aucun intérêt a le faire automatiquement (avec une boucle), on applique une boucle lorsque la taille des données est grande, ou grandit quotidiennement ... par contre le nombre de champs d'une table, il est généralement constant, et ça ne dépasse pas la trentaine voir la vingtaine de colonnes par table.

Sinon,

SELECT * 
FROM information_schema.columns
WHERE TABLE_SCHEMA = 'Nom de la base de données' 
AND TABLE_NAME = 'Nom de la table'


Mettez en résolu quand c'est résolu ...
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
2
Salut Joos.
Merci pour ta réponse ça marche nikel.
Pour info, ci je souhaite procéder de cette façon, c'est pour faciliter l'administration du site, Ainsi, l'administrateur futur pourra créer ses tables et les modifier comme bon lui semble sans avoir de base en informatique.

Voici le code final:

public function listeElementTable($table)
    {
     $req = $this -> bdd -> query("SELECT column_name
                                      FROM information_schema.columns
                                      WHERE table_schema = 'nomdematable'
                                      AND table_name= '".$table."'");
     while($don = $req -> fetch(PDO::FETCH_COLUMN))
     {
      $donnee[] = $don;
     }
     return $donnee;
    }
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
226
Je vois, si vous cherchez à créer une interface pour l'administrateur afin qu'il puisse travailler d'une façon plus ou moins facile et direct sur la base de données, et ben pourquoi pas phpMyAdmin, en ajoutant un nouveau utilisateur, et en lui affectant tel et tel privilèges, ça peut faire l'affaire !

Sinon,

Il faudra alors créer une bonne API pour sécuriser l'interaction de l'administrateur sur la base de données, parce que comme vous l'avez dit, l'administrateur n'est pas forcement un informaticien, donc il peut faire n'importe quoi, supprimer, ajouter ou modifier des colonnes ou des tables dont certaines parties du site dépendent toujours ...

Bon courage.