-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbook_list.php
52 lines (43 loc) · 1.49 KB
/
book_list.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
require_once 'database_utils.php';
require_once 'book.php';
const ASCENDING = 0;
const DESCENDING = 1;
function GetBookListSortedOnId($sortOrder) {
$query = 'SELECT * FROM books ORDER BY id';
return GetBookListFromResults(GetResultsForQuery($query));
}
function GetBookListSortedOnTitle($sortOrder) {
$query = $sortOrder == ASCENDING ?
'SELECT * FROM books ORDER BY title' :
'SELECT * FROM books ORDER BY title DESC';
return GetBookListFromResults(GetResultsForQuery($query));
}
function GetBookListSortedOnAuthor($sortOrder) {
$query = $sortOrder == ASCENDING ?
'SELECT * FROM books ORDER BY authors' :
'SELECT * FROM books ORDER BY authors DESC';
return GetBookListFromResults(GetResultsForQuery($query));
}
function GetBookListSortedOnRating($sortOrder) {
$query = $sortOrder == ASCENDING ?
'SELECT * FROM books ORDER BY rating' :
'SELECT * FROM books ORDER BY rating DESC';
return GetBookListFromResults(GetResultsForQuery($query));
}
function GetBookListFromResults($rows) {
$books = array();
foreach ($rows as $row) {
$book = new Book();
$book->id = $row['id'];
$book->title = $row['title'];
$book->authors = $row['authors'];
$book->rating = Book::$rating_values[$row['rating']];
$book->description = $row['description'];
$book->imageLink = $row['image_link'];
$book->link = $row['link'];
$books[] = $book;
}
return $books;
}
?>