Comment utiliser la requête de mise à jour et de suppression dans wordpress
-
-
WordPresspropose une classe [$ wpdb] (https://codex.wordpress.org/Class_Reference/wpdb)pourfairetout cela.Mais une requête comme lapremièrepeutfacilement être réalisée avec [`WP_Query ()`] (https://codex.wordpress.org/Class_Reference/WP_Query) avecmoins d'effort.WordPress offers [$wpdb](https://codex.wordpress.org/Class_Reference/wpdb) Class for doing all those. But a query like the first one can easily be achieved with [`WP_Query()`](https://codex.wordpress.org/Class_Reference/WP_Query) with less effort.
- 3
- 2015-05-05
- Mayeenul Islam
-
3 réponses
- votes
-
- 2016-09-01
Àpropos de UPDATE + INSERT:
J'ai créé unefonctionpourmoi-mêmeet jepourraispeut-être vous aider aussi,c'est-à-dire:
UPDATE_OR_INSERT('wp_users', array('gender'=>'female'), array('name'=>'Monika') );
quimettra àjour une valeur dans la colonne (où
name=monika
),mais au cas où cette valeurn'existepas,alorsil crée unnouvelenregistrement dans DB.
Pourquoiest-cenécessaire?parce quepour autant queje sache,iln'y apas defonction WP sophistiquée,quimettra àjour les données dans DB (si la valeurexiste) ouinsère des données (siellesn'existentpas). À laplace,nous utilisons:$wpdb->update()
ou$wpdb->insert()
. Alors,utilisez cettefonction,ça aide:function UPDATE_OR_INSERT($tablename, $NewArray, $WhereArray){ global $wpdb; $arrayNames= array_keys($WhereArray); //convert array to STRING $o=''; $i=1; foreach ($WhereArray as $key=>$value){ $o .= $key . ' = \''. $value .'\''; if ($i != count($WhereArray)) { $o .=' AND '; $i++;} } //check if already exist $CheckIfExists = $wpdb->get_var("SELECT ".$arrayNames[0]." FROM ".$tablename." WHERE ".$o); if (!empty($CheckIfExists)) { return $wpdb->update($tablename, $NewArray, $WhereArray );} else { return $wpdb->insert($tablename, array_merge($NewArray, $WhereArray) ); } }
About UPDATE+INSERT:
I have made a function for myself, and might help you too, i.e. :
UPDATE_OR_INSERT('wp_users', array('gender'=>'female'), array('name'=>'Monika') );
that will UPDATE A VALUE in column (where
name=monika
), but in case that value doesnt exists, then it creates a new record in DB.
Why this is necessary? because As far as i know, there is no sophisticated WP function, that will update data in DB (if value exists) or inserts data (if not exists). Instead, we use :$wpdb->update()
or$wpdb->insert()
. So, use that function, it helps:function UPDATE_OR_INSERT($tablename, $NewArray, $WhereArray){ global $wpdb; $arrayNames= array_keys($WhereArray); //convert array to STRING $o=''; $i=1; foreach ($WhereArray as $key=>$value){ $o .= $key . ' = \''. $value .'\''; if ($i != count($WhereArray)) { $o .=' AND '; $i++;} } //check if already exist $CheckIfExists = $wpdb->get_var("SELECT ".$arrayNames[0]." FROM ".$tablename." WHERE ".$o); if (!empty($CheckIfExists)) { return $wpdb->update($tablename, $NewArray, $WhereArray );} else { return $wpdb->insert($tablename, array_merge($NewArray, $WhereArray) ); } }
-
- 2020-05-04
Mettre àjour la requête:
$table = $wpdb->prefix . 'tablename'; $wpdb->query($wpdb->prepare("UPDATE $table_name SET time='$current_timestamp' WHERE userid=$userid"));
Supprimer la requête:
$wpdb->delete( $table, array( 'id' => $id ) );
Update Query:
$table = $wpdb->prefix . 'tablename'; $wpdb->query($wpdb->prepare("UPDATE $table_name SET time='$current_timestamp' WHERE userid=$userid"));
Delete Query:
$wpdb->delete( $table, array( 'id' => $id ) );
-
- 2020-05-04
Mettre àjour la requête:
$table = $wpdb->prefix . 'tablename'; $wpdb->update( $table_name, array( 'role_id' => 1),array('user_id'=>$user_id));
Supprimer la requête:
$wpdb->delete( $table, array( 'id' => $id ) );
Update Query:
$table = $wpdb->prefix . 'tablename'; $wpdb->update( $table_name, array( 'role_id' => 1),array('user_id'=>$user_id));
Delete Query:
$wpdb->delete( $table, array( 'id' => $id ) );
Tout d'abord,j'écrismanuellementmettre àjour,supprimer,inséreret sélectionner une requêteet exécuter des données avec lafonction
mysql_query
Comme ceci:
Sélectionnez la requête
Insérer une requête
Mettre àjour la requête:
Supprimer la requête
Toutes les requêtesfonctionnentparfaitement ...maismaintenantje souhaiteintégrertoutes les requêtes dans les requêtes wordpress.
Jepeux également utiliser des requêtes wordpress comme
Mais vouspouvez voir quej'utilise des conditions
and / or
dansmes requêtes. Alorstout lemondem'aide,commentpuis-jeintégrermes requêtes dans wordpress