DOP FETCH_KEY_PAIR

Resumo : neste tutorial, você aprenderá como usar o FETCH_KEY_PAIRmodo PDO para selecionar dados de uma tabela.

Introdução ao modo PDO FETCH_KEY_PAIR

Ambos fetch()os métodos fetchAll() aceitam um modo de busca muito útil chamado PDO::FETCH_KEY_PAIR.

O PDO::FETCH_KEY_PAIRmodo permite recuperar um resultado de duas colunas em uma matriz onde a primeira coluna é a chave e a segunda coluna é o valor.

Na prática, você usará o PDO::FETCH_KEY_PAIRpara buscar dados para construir um <select>elemento com dados provenientes do banco de dados.

Por exemplo, você pode criar um <select>elemento com os valores como ID do editor e os textos como nomes dos editores:

<?php

$pdo = require 'connect.php';

$sql = 'SELECT publisher_id, name 
        FROM publishers';

$statement = $pdo->query($sql);
$publishers = $statement->fetchAll(PDO::FETCH_KEY_PAIR);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Publishers</title>
</head>
<body>
    <label for="publisher">Select a pulisher</label>
    <select name="publisher" id="publisher">
        <?php foreach ($publishers as $publisher_id => $name): ?>
        <option value="<?php echo $publisher_id ?>"><?php echo $name ?></option>
        <?php endforeach ?>
    </select>
</body>
</html>Linguagem de código:  PHP  ( php )

Como funciona.

Primeiro, conecte-se ao bookdbbanco de dados.

Em segundo lugar, execute uma consulta que selecione o ID e o nome do editor na publisherstabela usando a query()função.

Terceiro, busque todas as linhas do conjunto de resultados usando o PDO::FETCH_KEY_PAIRmodo. A $publishersmatriz ficará assim:

Array
(
    [1] => McGraw-Hill Education
    [2] => Penguin/Random House 
    [3] => Hachette Book Group
    [4] => Harper Collins
    [5] => Simon and Schuster
)Linguagem de código:  PHP  ( php )

Por fim, itere sobre o conjunto de resultados e crie os elementos de opção.

Resumo

  • Use o PDO::FETCH_KEY_PAIRmodo para buscar o resultado de duas colunas em uma matriz onde a primeira coluna é a chave e a segunda coluna é o valor.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *