Пряме та зворотнє виведення даних з масиву бази даних

листопад 2014 року

Дані в переважній більшості зберігаються в масивах, як на малюнку.

обєкт бази даних, масив

Рисунок 1. Об'єкт бази даних, масив даних

Внесення даних відбувається за допомогою SQL запиту INSERT, спочатку в 0-ий рядок, потім 1-ий рядок, 2-ий, 3-ій і так далі.

В випадку, коли необхідно брати дані з об'єкту бази даних (SELECT запит) дані можуть вибиратись з останнього рядка чи навпаки з першого рядка.

Візьмем таблицю My_Test з даними Id, Name, proffesion, age

Id Nameproffesionage
1 Сашадиректор37
2 Пашазавідуючий32
3 Наташаменеджер27
4 Ірасекретар22
5 Васяоператор28
6 Коляоператор32
7 Тарасоператор34
8 Васяоператор30
9 Семеноператор26
10Маркусбізнес-партнер34

Рисунок 2. Приклад таблиці (пряме розташування даних)



Так, якщо необхідно дані вивести з першого рядка (пряме розташування даних), тоді реалізувати можна це слідуючим чином:

<?php
/ / зєднання з базою даних
$mysqli = new mysqli ("localhost", "user", "password", "database");
	
/ / створюємо обєкт $res з даних таблиці My_Test Бази Даних
$res = $mysqli->query("SELECT `Id`, `Name`, `proffesion`, `age` 
			FROM `My_Test` WHERE 1");

/ / виводим повідомлення
echo "Пряме сортування даних з таблиці ...
"; / / читаємо перший рядок (0) обєкту $res $res->data_seek(0); / / цикл while працює доки змінна $row не досягне останнього значення обєкту $res while ($row = $res->fetch_assoc()){ echo"Id=".$row['Id']."Name=".$row['Name']."proffesion=".$row['proffesion']."вік=".$row['age']."
"; }; / / закриваємо зєднання з базою даних $mysqli->close(); ?>
Рисунок 3. Приклад php-кодування запиту до бази даних (пряме розташування даних)


Результат роботи цієї частини:

Пряме сортування даних з таблиці ...
Id=1 Name=Sasha proffesion=Operator вік=28
Id=2 Name=Kolya proffesion=Operator вік=24
Id=3 Name=Olya proffesion=Secretary вік=25
Id=4 Name=Max proffesion=Student вік=19



Якщо необхідно дані вивести з останнього рядка (зворотнє розташування даних)

<?php
/ / зєднання з базою даних
$mysqli = new mysqli ("localhost","user","password","database");

/ / створюємо обєкт $res з даних таблиці My_Test Бази Даних
$res = $mysqli->query("SELECT `id`, `Name`, `proffesion`, `age` 
                      FROM `My_Test` WHERE 1");
	
/ / виводим повідомлення
echo "Зворотнє сортування даних з таблиці ...
"; / / цикл for працює розпочинаючи від кількості рядків в таблиці до 0 for ($row_no = $res->num_rows - 1; $row_no >= 0; $row_no--){ / / зчитуємо черговий рядок $row_no з обєкту $res $res->data_seek($row_no); / / створюємо масив даних $row з відповідного рядка обєкту $res $row = $res->fetch_assoc(); / / виводим значення масиву $row echo"Id=".$row['Id']."Name=".$row['Name']."proffesion=".$row['proffesion']."вік=".$row['age']"
"; }; / / закриваємо зєднання з базою даних $mysqli->close(); ?>
Рисунок 4. Приклад php-кодування запиту до бази даних (зворотнє розташування даних)


Результат роботи цієї частини:

Зворотнє сортування даних з таблиці ...
Id = 4 Name = Max proffesion = Student вік = 19
Id = 3 Name = Olya proffesion = Secretary вік = 25
Id = 2 Name = Kolya proffesion = Operator вік = 24
Id = 1 Name = Sasha proffesion = Operator вік = 28