Bonjour à tous,
Je n'ai pas de problème, juste besoin d'un conseil !
J'ai dans ma bdd des tables à ralonge (une vingtaine de champs). Lorsque j'enregistre une nouvelle ligne ou que j'en met une à jour avec PHP, j'ai donc une ligne très longue !
Ce qui donne:
mysql_query('INSERT INTO table VALUES("val1", "val2", "val3", "val4"....)');
Et c'est évidemment la même chose pour les mysql update.
Cette méthode me pose deux problèmes:
- les lignes sont longues et donc une source d'erreur
- très peu pratique lors de l'évolution d'une table
J'ai donc utilisé à certains moment une autre méthode. Au lieu de mettre la liste exhaustive de mes champs à chaque enregistrement, je donne à mes champs de formulaire (HTML) le même nom que le nom de mes champs en bdd et je fais une boucle pour le mysql_query.
Ce qui donne:
1 2 3
| foreach($_POST as $key => $value) {
mysql_query('UPDATE table SET $key="'.$value.'" WHERE id="1"');
} |
Ou encore:
1 2 3
| foreach($_POST as $value) {
mysql_query('INSERT INTO table VALUES($value)');
} |
Cependant je ne suis pas sûr que cette solution soit très "propre" ni performante. J'aurais donc souhaité avoir vos avis, conseils et astuces concernant cette problématique.
Merci,
Julien
Partager