Récupérer un tableau avec $ wpdb
1 réponses
- votes
-
- 2012-11-26
Laméthodewpdb
deget_results
prend un deuxième argumentfacultatif qui vouspermet de spécifier comment les données sont renvoyées. Le retourpar défautest un objet. Mais vouspouvez également le définir sur ...OBJET - le résultat sera affiché sous laforme d'untableauindexénumériquement d'objets de ligne.
OBJECT_K - le résultat sera affiché sous laforme d'untableau associatif d'objets ligne,utilisant les valeurs de lapremière colonne comme clés (les doublons seront supprimés).
ARRAY_A - le résultat sera affiché sous laforme d'untableauindexénumériquement detableaux associatifs,en utilisant lesnoms de colonnes comme clés.
ARRAY_N - le résultat sera affiché sous laforme d'untableauindexénumériquement detableauxindexésnumériquement.
(du codex )
Vous voulezprobablement
ARRAY_A
.<?php $query = $wpdb->get_results("SELECT * FROM videos", ARRAY_A);
Malheureusement,
get_results
ne vouspermetpas de & quot; diffuser dans & quot; comme vous lefaites,vous devrez donc utiliser uneboucleforeach.<?php foreach($query as $row) { // do stuff with $row here. }
wpdb
'sget_results
method takes an optional second argument that lets you specify how the data is returned. The default return is an object. But you can also set it to...OBJECT - result will be output as a numerically indexed array of row objects.
OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.
(from the codex)
You probably want
ARRAY_A
.<?php $query = $wpdb->get_results("SELECT * FROM videos", ARRAY_A);
Unfortunately,
wpdb
doesn't allow you to "stream in" results like you're doing, so you'll need to use a foreach loop.<?php foreach($query as $row) { // do stuff with $row here. }
-
OKmerci.Mais qu'enest-il de cette ligne? `while ($ row=mysql_fetch_array ($ query_exec)) {`Ok, thanks. But what about this line? `while($row = mysql_fetch_array($query_exec)) {`
- 0
- 2012-11-26
- Mark
-
Voirmamodification,il vous suffit d'utiliser uneboucle `foreach` au lieu de` while`.See my edit, you just need to use a `foreach` loop instead of `while`.
- 0
- 2012-11-26
- chrisguitarguy
-
Merde,j'ai raté l'ARRAY_A lapremièrefois,doncj'aieu uneerreur dansmonforeach. Mercibeaucoup.Damn, I missed the ARRAY_A the first time, so I got an error in my foreach. Thank you very much.
- 0
- 2012-11-26
- Mark
J'essaye de convertir ce codepour utiliser $ wpdb.
C'est ce quej'aifait:
Mais commentpuis-je récupérer letableau? Merci d'avancepour l'aide.