IPB

Bienvenue invité ( Connexion | Inscription )

> PHP : simplifier la vérification de isset($_POST['...'])
Options
toluol
posté 21 Jul 2017, 10:13
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 792
Inscrit : 14 Nov 2003
Lieu : Genève
Membre no 11 656



Bonjour,

connaissez-vous une façon de simplifier cette écriture PHP ?

Code
$post_statut = ((isset($_POST['statut'])) ? $_POST['statut'] : null);


Si je ne teste pas le POST, cela me crée une erreur... Je n'arrive pas non plus à faire une fonction
$post_statut = CheckPost($_POST['statut']);
cela crée aussi une erreur...
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
yponomeute
posté 28 Jul 2017, 09:26
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



En matière d'optimisation de code il ne faut pas oublier les triggers dans les bases de données, ni la possibilité de grouper des requêtes pour ne faire qu'un seul appel au serveur de base de données (insertions/updates multiples par exemple).

Exemple fictif :

Code
foreach ($id in $array_of_id) {
do_query("UPDATE table SET column1 = 1 WHERE id = $id"); // Autant d'appels au serveur de BDD que d'éléments dans le tableau $array_of_id
}

peut s'optimiser en

Code
$id_list = implode(",", $array_of_id);
do_query("UPDATE table SET column1 = 1 WHERE id IN ($id_list)"); // Un seul appel au serveur de BDD

Ça a l'air évident comme ça, mais j'ai souvent rencontré des choses similaires à la boucle foreach dans du code sur lequel j'ai du intervenir.

Et avec les triggers en base de données on peut déléguer une partie du traitement des données au moteur SQL et également simplifier le code.
https://openclassrooms.com/courses/administ...-mysql/triggers

Ce message a été modifié par yponomeute - 28 Jul 2017, 09:27.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 4th June 2024 - 01:00