diff --git a/app/controller/book/BookDb.php b/app/controller/book/BookDb.php index 48bcc11217fabcc1b675feabc2f95d36d3886f87..6386e4d44b4ac02f1597d0b9d4641acc2aced0cf 100644 --- a/app/controller/book/BookDb.php +++ b/app/controller/book/BookDb.php @@ -1,6 +1,6 @@ <?php require_once __ROOT__."/util/Database.php"; - require_once __ROOT__."/app/book/Book.php"; + require_once __ROOT__."/app/controller/book/Book.php"; class BookDb extends Database{ function __construct(PDO $conn) { @@ -28,9 +28,9 @@ function getBookByTitle($title) { $books = []; - $sql = 'SELECT * FROM book WHERE title LIKE \'%?%\''; + $sql = "SELECT * FROM book WHERE title LIKE ?"; $stmt = $this->conn->prepare($sql); - $stmt->execute([$title]); + $stmt->execute(["%$title%"]); while($row = $stmt->fetch()) { $book_id = (int) $row["book_id"]; diff --git a/app/controller/book/BookUsecase.php b/app/controller/book/BookUsecase.php index 1935d9d8edec0aea339a18f18a6a78ccca06986b..266922ecec2a6c9116e709892a5f31792ce7ec1d 100644 --- a/app/controller/book/BookUsecase.php +++ b/app/controller/book/BookUsecase.php @@ -19,18 +19,13 @@ } function searchBook(Request $request) { - $title = (int)$request->params["title"]; - if ($title) { - writeResponse(200, "Mantuls"); + $title = $request->queries["title"]; + $books = $this->bookDb->getBookByTitle($title); + if ($books) { + writeResponse(200, "Success get book by title : %" + $title + "%", $books); } else { - writeResponse(500, "Goblok"); + writeResponse(500, "Failed to search book with title : ", $title); } - // $books = $this->bookDb->getBookByTitle($title); - // if ($books) { - // writeResponse(200, "Success get book by title like " + $title, $books); - // } else { - // writeResponse(500, "Failed get book detail"); - // } } } diff --git a/app/controller/book/routes.php b/app/controller/book/routes.php index c0c2fc03523580dd7022defbaf5a5fd59f7d7e15..1e01ecd1ab13d9c1e22bcc0b0749a810909dbf27 100644 --- a/app/controller/book/routes.php +++ b/app/controller/book/routes.php @@ -1,7 +1,7 @@ <?php function addBookRoutes($router, $bookUsecase){ - $router->add("/book?title=xxx;", "GET", array($bookUsecase, 'searchBook')); + $router->add("/book/", "GET", array($bookUsecase, 'searchBook')); $router->add("/book/:book_id/", "GET", array($bookUsecase, 'getBookDetail')); // $router->add("/", "GET", $homepage, $middlewareExample); // $router->add("/book/:book_id/user/:user_id/", "POST", $postCallbackExample, $middlewareExample);