J'ai le suivant:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
Comment obtenir les colonnes nommées 'id' et 'name' à partir de $ row?
foreach( $wpdb->get_results("SELECT * FROM your_table_name WHERE id LIKE' . $id . ';") as $key => $row) {
// each column in your row will be accessible like this
$my_column = $row->column_name;}
Plus d'infos ici
À utiliser comme tableau associatif:
$obj=[];
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_A);
foreach($rows as $row){ $obj=$row; break; }
// $obj is now the selected row if a match was found
Usage
$something = $obj['column_name'];
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL . '<br />';
Pour obtenir d'autres formats, changez simplement ARRAY_A
en vous basant sur la documentation de $wpdb->get_results()
. La réponse de Pippin convient à la plupart des objets.
Pour utiliser une ligne en tant que tableau indexé numériquement
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_N);
foreach($rows as $row){ $obj=$row; break; }
//Usage
foreach($obj as $col_value) echo $col_value . ' ';
Pour utiliser une ligne dans un tableau dont les clés sont la clé primaire de votre base de données (souvent une colonne id
). Peut-être plus efficace que la méthode de tableau associatif.
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , OBJECT_K);
$obj = $rows[ $obj_id ];
//Usage
$something = $obj->column_name;
//Remember you can loop over objects too
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL;
Toujours essayer le Codex WordPress: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Essentiellement, étant donné la syntaxe par défaut, la variable $ row est un objet contenant vos résultats. Vous pouvez également spécifier le type de résultat (tableau numérique, tableau associatif).
En supposant qu'un seul résultat, alors $ row-> id et $ row-> name devraient vous donner les informations.
Si vous récupérez plus d'un résultat, vous voudrez effectuer une boucle sur les entrées de l'objet.
Si vous attendez juste une ligne, essayez alors d'utiliser $ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
Ce code fonctionne parfaitement pour moi:
global $wpdb;
$table_name = "my_table_name";
$myrows = $wpdb->get_results( "SELECT `id`, `name` FROM ".$table_name);
foreach ($myrows as $details) {
echo $details->id;
echo $details->name;}