PDO натижасидан барча қаторларни олиш PHP
Сўров натижасидан барча қаторларни
дарҳол массив кўринишида олиш мумкин.
Бу fetchAll методи ёрдамида бажарилади.
Келинг, ушбу методнинг турли ишлаш тартибларини
кўриб чиқайлик.
Барча мисоллар тест жадвали учун бўлади.
Оддий массивни олиш
Келинг, fetchAll методидан
оддий маълумотлар массивини олиш учун фойдаланайлик.
Бунинг учун метод параметрларини
бўш қолдирамиз:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Коднинг ишлаш натижаси:
[
[
'id' => 1,
'name' => 'name1',
'age' => 21,
'salary' => 500,
],
[
'id' => 2,
'name' => 'name2',
'age' => 22,
'salary' => 600,
],
[
'id' => 3,
'name' => 'name3',
'age' => 23,
'salary' => 600,
],
[
'id' => 4,
'name' => 'name4',
'age' => 24,
'salary' => 700,
],
[
'id' => 5,
'name' => 'name5',
'age' => 25,
'salary' => 800,
],
]
Битта устунни олиш
Келинг, жадвалдан фақат битта устунни
олайлик. Бунинг учун fetchAll
методига FETCH_COLUMN параметрини
ўтамиз:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Коднинг ишлаш натижаси:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Калит-қиймат жуфтини олиш
Келинг, маълумотларни калит-қиймат
жуфти кўринишида олайлик, бу ерда калит идентфикатор (айди) бўлади,
қиймат эса фойдаланувчининг исми бўлади. Бунинг учун параметрга
FETCH_KEY_PAIR тартибини
ўтамиз:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Коднинг ишлаш натижаси:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Якка тартибдаги майдонли ёзувларни олиш
Якка тартибдаги майдонни (оддатда
id), ҳар бир
кичикмассив учун калит қилиб тайёрлаш мумкин:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Коднинг ишлаш натижаси:
[
1 => [
'id' => 1,
'name' => 'name1',
'age' => 21,
'salary' => 500,
],
2 => [
'id' => 2,
'name' => 'name2',
'age' => 22,
'salary' => 600,
],
3 => [
'id' => 3,
'name' => 'name3',
'age' => 23,
'salary' => 600,
],
4 => [
'id' => 4,
'name' => 'name4',
'age' => 24,
'salary' => 700,
],
5 => [
'id' => 5,
'name' => 'name5',
'age' => 25,
'salary' => 800,
],
]
Амалиёт машғулотлари
users жадвалидан
барча фойдаланувчиларни
дарсда тавсифланган метод
ёрдамида чиқаринг.
users жадвалидан
бир қатор маълумотларни чиқаринг.
Фойдаланувчиларнинг исми ва ёшини калит-қиймат жуфти кўринишида чиқаринг.