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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
foreach($_POST as $key => $value) {
   mysql_query('UPDATE table SET $key="'.$value.'" WHERE id="1"');
}
Ou encore:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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