Tableaux associatifs PDO - retour associatif
J'ai ce code:
$dbInstance = DB_Instance::getDBO();
$statement = $dbInstance->prepare("SELECT id, name FROM language ORDER BY id");
$statement->execute();
$rows = $statement->fetchAll();
//Create associative array wuth id set as an index in array
$languages = array();
foreach($rows as $r) {
$languages[$r['id']] = $r['name'];
}
return $languages;
Je ne peux pas comprendre comment utiliser PDO-déclaration pour obtenir le même résultat que le tableau $langues de produit. J'ai essayé différents fetch_styles.
J'ai essayé quelques-uns des styles différents et j'ai pu obtenir comme:
[0] svenska
[1] engelska
mais je veux comme:
[1] svenska
[2] engelska
(où 1 et 2 sont les valeurs de l'id dans la base de données)
Je suppose que je pourrais créer une fonction et l'appeler avec FETCH_FUNC
mais je ne suis pas sûr que ce serait si grand soit.
Est au-dessus de la meilleure/la plus propre façon de le faire?
source d'informationauteur bestprogrammerintheworld
Vous devez vous connecter pour publier un commentaire.
Pas vraiment sûr si il ya une meilleure façon. Vous pouvez essayer ce?
Il n'y a rien de mal avec les boucles foreach. J'avais en fait utiliser ce que vous avez. Il est difficile d'obtenir plus propre que ça...
Mise à JOUR:
Après avoir soigneusement re-lecture de votre question, ce que vous devriez poser est de savoir si vous pouvez mettre en forme votre REQUÊTE de telle manière que les résultats sont affichés dans un format différent.
La façon normale de votre requête SELECT est retourné, c'est ainsi:
Ce que vous demandez est une façon de retourner les résultats de votre requête comme CECI:
Je n'en suis pas complètement sûr que vous POUVEZ cela en SQL, pour être parfaitement honnête. Je vous recommande aussi contre elle, même si vous le pouviez. Il serait horrible pour une mise à l'échelle de la table. Si votre tableau est statique, alors pourquoi ne pas le format de la façon que je viens de commencer avec? Pourquoi ne pas l'avoir dans un statique tableau PHP dans un fichier include?
Tout le monde a oublié le
Je pense que vous pourriez être à la recherche pour
$result = $sth->fetch(PDO::FETCH_ASSOC);
Référence: http://php.net/manual/en/pdostatement.fetch.php
[edit] oups à la fin 🙂