Système de paramètre

Suivre ce topic
Ce topic est suivi par : Personne...
neecride

neecride Le 6 avril 2016 à 20:43 (Édité le 25 janvier 2019 à 17:50)

Salut All,

Voila je cherche a créer un système pour généré une chier de paramètre comme le slogan, title, positionnement des sidebar etc...

ça fais un moment que je cherche la bonne pratique mai voila ça foire toujours.

En gros je prend l'exemple de wordpress ou l'id 1 est égal au slogan et le namsite est égal a l'id 2 en base de donnée.

la tables ce structure comme cela sur wordpress 

option_id .. (bigint 20)
option_name .. (varchar 200) exemple : slogan
option_value .. (longtext) exemple : slogan content
autoload .. (varchar 20 default "yes")

Je veut pouvoir créer et éditer des paramètre mai la je suis perdu; comment fait wordpress dans le sens ou moi pour éditer je passe par GET pour éditer une table donc c'est facile j'édite "where id" sauf que la on a un id par paramètre comment éditer le bon a chaque foi ?

Imaginons je créer le slogan :

option_id = 1
option_name = slogan
option_value = slogan content
autoload = yes

Dans le meilleur des monde quand je veut éditer je passe l'id en GET et j'update ( que la value le nom ne changera jamais ni l'id ) donc la je connais l'id et le nom de l'option, seul sa valeur change jusque la on est OK !!

Mais si j'ai a la fois le nom, la position des sidebar, une citation et j'en passe.... comment faire sur un seul form edit pour édité la bonne id a chaque fois de plus comme elle est en "primary auto" sans le GET il va me créer un option a chaque fois.

ensuite il faut pouvoir en ajouté pour de future ajouts !!

Vous voyez le topos avez vous un idée ?

merci 😀
julienb

julienb Le 6 avril 2016 à 21:10

Salut, 
je vais essayer de t'aider mais je ne suis pas sûr d'avoir tout compris donc n'hésite pas à me dire si je réponds un peu à côté.

Je veut pouvoir créer et éditer des paramètre mai la je suis perdu; comment fait wordpress dans le sens ou moi pour éditer je passe par GET pour éditer une table donc c'est facile j'édite "where id" sauf que la on a un id par paramètre comment éditer le bon a chaque foi ? 
Si j'ai bien compris, il faudrait que dans la partie admin de ton site, tu aies une page ou tu récupères tous les paramètres que tu as enregistré dans ta base de données avec un bouton editer à côté de chaque qui renvoit vers param/edit/id par exemple. Cette page t'afficherait un formulaire qui contient les données enregistrées de ton paramètre à modifier option_name, option_value, autoload, ce que tu veux... sauf l'id qui serait dans un input de type hidden si besoin de façon à ne pas pouvoir le modifier et en validant ce formulaire là, ça mettrait à jour uniquement ce que tu as besoin et ça laisserait les autres valeurs non modifiées.

Pour créer des paramètres supplémentaires, tu te fais un bouton créer sur ta page avec tous tes paramètres qui renvoit vers une page qui affiche le même formulaire mais complètement vide et au lieu d'appeler une fonction pour update ta base de données, tu fais un insert.

Mais si j'ai a la fois le nom, la position des sidebar, une citation et j'en passe.... comment faire sur un seul form edit pour édité la bonne id a chaque fois de plus comme elle est en "primary auto" sans le GET il va me créer un option a chaque fois. 
Ca revient à ce que je t'ai dit plus haut, tu peux faire une requète select en fonction de l'id de ton paramètre qui te renvoit toutes les valeurs du paramètre à modifier et afficher le tout dans un formulaire de façon à pouvoir modifier la valeur que tu souhaites.
neecride

neecride Le 7 avril 2016 à 18:00

En faite pour être plus claire ! le formulaire doit rester sur la page courante juste un btn submit, il est évidant que je ne veut pas créer une requête pour chaque composant de ce formulaire sinon ce serai facile.

Quand je modifie un champ il devra savoir a qu'elle ID correspond ce champ vise vers ça pour tous les autre !

Exemple j'ai 2 champ le title et le slogan 

id-1 Value = titre de mon site 
id-2 Value = slogan de mon site
si je ne veut updater que l'un ou l'autre en utilisant q'une seul requête sans le "GET id" et la je ne sais pas comment faire.
julienb

julienb Le 9 avril 2016 à 02:35

Dans le cas où tu veux modifier des données, tu fais un get pour afficher un formulaire correspondant à l'id donc tu veux modifier les données. MAIS lors de la soumission du formulaire avec les données modifiées, la requète doit être de type POST (form action ="mon fichier.php" type="post) de façon à ne pas transmettre d'informations sensibles par l'url.
neecride

neecride Le 11 avril 2016 à 00:27

Bonsoir,
Je pense être sur une piste avec dans la requête :

ON DUPLICATE KEY UPDATE
mai je ne sais pas trop comment m'y prendre pour l'insert et l'update sachant qu'un paramètre ne peut pas exister 2 fois. 

Je suis donc toujours a le recherche d'un idée merci ! faut dire que moi et la doc mysql ça fait 2
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte