-
WORDPRESS > requêtes SQL
Pour créer de vraies requêtes SQL à partir de WordPress, voici comment faire :
RAPPEL
Une
requêteest de la forme :SELECT * FROM nom_table WHERE blabla = bloblo
AFFICHER LE RÉSULTAT DANS UNE BOUCLE
$sql = $wpdb->prepare("requête"); $messages = $wpdb->get_results($sql); if ( $messages ){ foreach ( $messages as $id ){ $nom_1 = $id->nom_colonne; ... } }
$messagespour vérifier si il y a une réponse à la requête.$nom_1nom de la variable qui va recevoir les données de la colonnenom_colonne$nom_1peut être un tableau$nom_1[] = …AFFICHER RÉSULTAT UNIQUE
$wpdb->get_var('requête'); echo $wpdb;
REQUÊTE AVEC DES VARIABLES
Variable numérique
$sql = $wpdb->prepare(" SELECT * FROM nom_table WHERE blabla = '%d' " , $VAR );
Variable alphabétique ou chaine de caractères
$sql = $wpdb->prepare(" SELECT * FROM nom_table WHERE blabla = '%s' " , $VAR );
UPDATE
$result = $wpdb->update('nom_table', array('colonne_1' => $var_1, 'colonne_2' => $var_2, 'colonne_3' => $var_3 ), array( 'colonne_condition' => $var_condition ), array( '%d', '%s', '%s' ), array( '%d' ) ); if($result > 0){ echo "Update OK"; }else{ exit( var_dump( $wpdb->last_query ) ); } $wpdb->flush();
EXPLICATIONS :
colonne_xnom de la colonne à modifier. Si plusieurs colonnes, alors les séparer par une virgule.$var_xvaleur ou donnée que devra prendre la colonne en question. Ne pas oublier le report de la catégorie de la variable dans le dernierarray.colonne_conditionnom de la colonne sur laquelle sera faite la condition WHERE. Si plusieurs conditions, alors les séparer par une virgule.$var_conditionvaleur que doit prendre lacolonne_conditionpour la condition WHERE. Ne pas oublier le report de la catégorie de la variable dans le dernierarray.%d %dsi la variable est de type decimal ou entier.%s %ssi la variable est de type string ou chaine de caractères.var_dump(…)pour voir là où la requête a échoué. Affiche la requête ainsi que les valeurs passées.$wpdb->flush()pour vider le cache pour la prochaine requête.