Resumo : neste tutorial, você aprenderá como usar o FETCH_KEY_PAIR
modo 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_PAIR
modo 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_PAIR
para 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 bookdb
banco de dados.
Em segundo lugar, execute uma consulta que selecione o ID e o nome do editor na publishers
tabela usando a query()
função.
Terceiro, busque todas as linhas do conjunto de resultados usando o PDO::FETCH_KEY_PAIR
modo. A $publishers
matriz 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_PAIR
modo para buscar o resultado de duas colunas em uma matriz onde a primeira coluna é a chave e a segunda coluna é o valor.