Added api route getAuthorsCountByAuthor(author_name)

This commit is contained in:
Florian Sylvain
2021-11-09 00:34:56 +01:00
parent 4d80c83742
commit 75d408c777
2 changed files with 21 additions and 3 deletions
+3 -2
View File
@@ -17,13 +17,14 @@ if (strlen($author_name) < 3) {
$json_object = match ($q) { $json_object = match ($q) {
"theses" => dump::getTheseByAuthor($author_name), "theses" => dump::getTheseByAuthor($author_name),
"authors" => dump::getAuthorsByAuthors($author_name), "authors" => dump::getAuthorsByAuthor($author_name),
"authorsCount" => dump::getAuthorsCountByAuthor($author_name),
default => NULL, default => NULL,
}; };
$json = json_encode(array( $json = json_encode(array(
"status" => 200, "status" => 200,
"message" => "Results : " . count($json_object), "data" => $json_object "message" => "Success", "data" => $json_object
),JSON_PRETTY_PRINT); ),JSON_PRETTY_PRINT);
print_r($json); print_r($json);
+18 -1
View File
@@ -40,7 +40,7 @@ class dump {
return $theses_array; return $theses_array;
} }
public static function getAuthorsByAuthors(mixed $author_name) : array { public static function getAuthorsByAuthor(string $author_name) : array {
$array = []; $array = [];
$author_name = '%' . $author_name . '%'; $author_name = '%' . $author_name . '%';
@@ -61,6 +61,23 @@ class dump {
return $array; return $array;
} }
public static function getAuthorsCountByAuthor(string $author_name) : int {
$author_name = '%' . $author_name . '%';
$pdo_obj = new conf();
$pdo = $pdo_obj->getPDO();
$stmt = $pdo->prepare("SELECT COUNT(author) FROM theses WHERE author LIKE :author_name;");
$stmt->bindParam(':author_name', $author_name, PDO::PARAM_STR, 100);
$stmt->execute();
while ($obj = $stmt->fetchObject()) {
foreach ($obj as $elem) {
return $elem;
}
} return 0;
}
public function sendThese($pdo) { public function sendThese($pdo) {
$data = [ $data = [
'author' => $this->these->getAuthor(), 'author' => $this->these->getAuthor(),