Maison > base de données > tutoriel mysql > Comment puis-je utiliser la valeur d'une colonne comme index pour les résultats de ma requête PDO ?

Comment puis-je utiliser la valeur d'une colonne comme index pour les résultats de ma requête PDO ?

Barbara Streisand
Libérer: 2024-12-24 11:46:10
original
551 Les gens l'ont consulté

How Can I Use a Column's Value as the Index for My PDO Query Results?

Utilisation de la valeur d'une colonne comme index dans les résultats à l'aide de PDO

Dans le domaine de la programmation de bases de données, il arrive souvent que les résultats des requêtes aient besoin être indexé différemment de l’approche incrémentielle par défaut. Des scénarios spécifiques comme celui présenté dans cette requête démontrent la nécessité d'une solution plus propre et plus efficace.

La requête :

Notre exemple concerne une table SQL nommée 'marques ' avec les colonnes 'id', 'name' et 'url'. L'ensemble de données contenu à l'intérieur ressemble à ceci :

1, Solidfloor, solidfloor
2, Quickstep, quickstep
4, Cleanfloor, cleanfloor
5, Blue Dolphin, blue-dolphin
6, Krono, krono
8, Meister, meister
Copier après la connexion

Énoncé du problème :

La récupération de tous ces enregistrements aboutit généralement à un tableau avec des indices incrémentiels. Cependant, l'exigence est que ces tableaux soient indexés à l'aide de la colonne « id ». Le bouclage par force brute à travers l'ensemble de résultats est une option viable mais pas optimale.

Solution unique de PDO :

PDO offre une solution remarquable via le PDO : Mode de récupération FETCH_UNIQUE. Lorsqu'il est utilisé, ce mode permet d'indexer les tableaux de résultats par le premier champ défini dans la clause SELECT. Dans notre cas, avec '*' utilisé, ce serait le champ 'id'.

Implémentation du code :

$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
Copier après la connexion

Format de sortie :

En conséquence, vous obtenez un tableau où les indices correspondent aux valeurs 'id'. Par exemple, le résultat ressemblerait à :

1 => array(
    'name' => 'Solidfloor',
    'url' => 'solidfloor',
),
2 => array(
    'name' => 'Quickstep',
    'url' => 'quickstep',
),
4 => array(
    'name' => 'Cleanfloor',
    'url' => 'cleanfloor',
)
Copier après la connexion

En utilisant PDO::FETCH_UNIQUE, vous pouvez obtenir avec élégance l'indexation souhaitée sans recourir à des opérations de bouclage fastidieuses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal