Bonsoir à tous,
Mon problème est plus théorique que pratique, mais après des heures de recherche, je m'en remet à vous.
J'ai la table suivante, qui contient les paramètres généraux de mon site :
id | name | data
1 | title | Mon titre
2 | subtitle | Mon sous-titre
3 | front_lang | fr_FR
etc
Je souhaite permettre l'édition de ces paramètres via un formulaire dans mon back-office, le voici :
Pour votre comréhension, voici ma fonction getSiteParam :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php echo savePreferences(); ?> <form id="preferences_form" action="<?php echo HERE; ?>" method="post"> <fieldset> <legend><?php echo SITE_PARAMS; ?></legend> <label for="title"><?php echo SITE_TITLE; ?></label> <input type="text" name="title" id="title" value="<?php echo getSiteParam('title'); ?>"/> <label for="title"><?php echo SITE_SUBTITlE; ?></label> <input type="text" name="subtitle" id="subtitle" value="<?php echo getSiteParam('subtitle'); ?>"/> </fieldset> <fieldset> <legend><?php echo SITE_LANGUAGES_TITLE; ?></legend> <label for="front_language"><?php echo SITE_FRONT_LANGUAGE; ?></label> <select name="front_language" id="front_language"><?php getLanguages(getSiteParam('front_lang')); ?></select> <label for="back_language"><?php echo SITE_BACK_LANGUAGE; ?></label> <select name="back_language" id="back_language"><?php getLanguages(getSiteParam('back_lang')); ?></select> </fieldset> <input type="submit" id="submit_preferences" name="submit_preferences" value="<?php echo SAVE; ?>"/> </form>
Quant à la fonction savePreferences(), il s'agit de ma fonction d'Update.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function getSiteParam($param) { global $Db; $thisParam = $Db->query("SELECT data FROM "._DB_PREFIX_."params WHERE name = '".$param."'")->fetch(PDO::FETCH_OBJ); return stripslashes($thisParam->data); }
Bref, venons-en au fait .
J'ai besoin de pouvoir faire un update sur chaque champs de manière automatique (ma liste de paramètres est amenée à évoluer constamment).
Problème, je ne sais absolument pas comment identifier chaque champ dans les conditions de ma requête.
Voici la fameuse fonction :
Voilà mon soucis. Que faire avec cette fameuse ligne commentée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function savePreferences() { global $Db; if(isset($_POST['submit_preferences'])) { foreach($_POST AS $k => $param) { //$Db->exec("UPDATE "._DB_PREFIX_."params (name, data) VALUES ("") WHERE ; } } }
Merci d'avance pour votre aide, je l'espère salvatrice.
En espérant avoir été suffisamment claire,
Pauline.
Partager