2011-10-11 4 views
0

En tant que partie d'un script que je vous écris, je voudrais ajouter un système de modèles où les variables sont dérivées d'une table de base de données comme ceci:Base de données basée sur Templating système

id int auto_increment primary key, 
name varchar(200) not null, 
value float(6,2) not null 

Mes problèmes sont:

1- Je n'arrive pas à trouver un moyen qui permette d'afficher facilement ces variables lors de la modification d'une page & Je ne sais pas combien de variables il y aurait, donc je ne peux pas ajouter de formulaire tout-en-un. 2- Je ne sais pas comment la variable doit être sauvegardée dans la base de données (je cherche à enregistrer une référence de la variable et non sa valeur donc quand elle sera mise à jour sur la table, toutes les pages qui l'utiliseront auront la nouvelle valeur) ... mais l'utilisation du numéro de variable ne semble pas claire sur ce qu'elle contient quand quelqu'un regarde d'abord la page pendant l'édition.

3- Devrais-je utiliser quelque chose comme preg_replace pour remplacer ces variables ou existe-t-il une meilleure méthode pour le faire?

+0

3: Non, vous ne devriez certainement pas utiliser une regex pour effectuer un remplacement de chaîne. – ThiefMaster

+0

Votre deuxième point n'a pas vraiment de sens. Si la ligne dans cette table avec l'ID 15 a une valeur de 3,14 (et vraiment, change float (6, 2) en décimal (6, 2)), alors partout où vous sélectionnez la ligne 15 et affichez sa valeur sur une page , ce sera 3,14. Si vous mettez ensuite à jour sa valeur, toutes les pages qui demandent cette valeur afficheront la nouvelle valeur. – CodeCaster

+0

@ThiefMaster quelle est la meilleure façon de le faire? J'ai également expliqué mes exigences dans les commentaires ci-dessous car j'ai remarqué que ma question n'est pas très claire. – Frank

Répondre

0

Si je comprends bien votre question, vous cherchez un moyen d'extraire des définitions de colonne de votre base de données pour construire un formulaire Web concernant les champs définis dans une table de base de données? si tel est le cas, vous pouvez obtenir la structure facilement avec

SHOW COLUMNS 
FROM database-table 

Encore mieux serait d'utiliser la base de données (disponible depuis MySQL 5.x) information_schema, parce que vous avez l'habitude d'analyser quoi que ce soit de lui:

SELECT * 
FROM information_schema.columns 
WHERE table_name = "database-table" 
+0

Pourquoi LIKE et pas '='? – ThiefMaster

+0

@ThiefMaster: vous avez raison. Je l'ai remplacé. En fait, je ne sais pas, pourquoi j'ai mis LIKE là ... peut-être que c'était juste une journée de travail trop dure aujourd'hui;) – aurora

+0

En le lisant, il veut créer dynamiquement un formulaire pour les opérations CRUD sur cette table. – CodeCaster

Questions connexes