SQL comparaison de données

Eléphant du PHP | 91 Messages

20 oct. 2023, 11:28

Bonjour,
J'ai un formulaire dont je voudrais comparer les saisies avec celles contenues dans ma base SQL.
Si au moins une donnée est différente, envoi d'un mail sinon aucune action.
Ceci-dit j'ai une cinquantaine de champs et j'aimerais une solution sans avoir à faire :
if ($champ1 === $champ2) etc....
Je ne suis pas expert donc si quelqu'un pouvrait m'aider ça serait cool.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 oct. 2023, 12:29

Bonjour,

Voilà comment je le verrais :
Une boucle foreach sur tous les champs que tu récupères de ton formulaire $_GET ou $_POST
Ensuite si tu as nommé tes champs de la même façon que le champ dans ta base de données, et bien au sein de la boucle tu fais une requête SQL pour vérifier que $champ_formulaire === $champ_bdd
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 91 Messages

20 oct. 2023, 13:29

Bonjour,
Oui mais dois-je faire $champ1_formulaire === $champ1_bdd, $champ2_formulaire === $champ2_bdd, j'ai près de 50 champs donc galère :-(

Mammouth du PHP | 2703 Messages

20 oct. 2023, 16:44

relire la réponse :
"Une boucle foreach sur tous les champs que tu récupères de ton formulaire $_GET ou $_POST"

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 oct. 2023, 18:06

Si tu nommes tes champs formulaire de la même façon qu'ils sont nommés dans ta bdd, alors tu n'as pas besoin de l'écrire 50 fois.
Quand tout le reste a échoué, lisez le mode d'emploi...