Witam,
Mam taki kod:
public function showListOfCompanies(int $sorting = 0, string $searchValue = "", int $actualPageNumber): array
{
$_sorting = $this->setSorting($sorting);
$limit = $this->_config->record_limit_on_page;
$offset = ($actualPageNumber - 1) * $this->_config->record_limit_on_page;
$searchQuery = null;
if ($searchValue !=""){
$searchQuery .= " WHERE (notes like :search or street like :search or city like :search or post_code like :search or phone_number like :search) ";
}
$result = $this->_db->query("SELECT id_company, enable, name, nip, date_of_registration FROM firmy $searchQuery ORDER by $_sorting LIMIT $offset , $limit ;" , array("search" => "%$searchValue%"));
return $result;
}
public function getNumberOfCompanies(string $searchValue = ""): int
{
return $this->_db->single("SELECT COUNT(id_company) AS id_company FROM psCompany ;");
}
private function setSorting(int $sorting): string
{
if ($sorting == 2)
{
$sort = " name DESC ";
} elseif ($sorting == 3)
{
$sort = " id_company ASC ";
} elseif ($sorting == 4)
{
$sort = " id_company DESC ";
} else {
$sort = " name ASC ";
}
return $sort;
}
Funkcja showListOfCompanies służy mi do wyświetlania i wyszukiwania danych.
Wszystko działa poprawnie do momentu gdy $searchValue jest puste (nikt, nic nie wpisał w wyszukiwarkę).
Jeśli $searchValue ma jakąś wartość, to mam pustą listę wyników.
Prawdopodobnie mam gdzieś błąd w WHERE.....
Ma ktoś może pomysł jak to naprawić?