<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
include_once ('../function.php');
$db = new Database;
class checkSearch
{
public $search;
function postSearch($serach)
{
return $this->search = $_POST['search'];
}
function trimSearch($search)
{
return $this->search = trim($this->postSearch($search));
}
function stripSearch($search)
{
return $this->serach = strip_tags($this->trimSearch($search));
}
}
$search = new checkSearch;
echo '<table>';
foreach($db->select('offices', '*', '', 'number_office LIKE ' . $search->stripSearch($_POST)) as $values)
{
echo '<tr>';
foreach($values as $key => $value)
{
echo '<td class="' . $key . '">' . $value . '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
Добрый день. В данном запросе к базе данных, хочу реализовать поиск по ключу LIKE и поиску любого значения при помощи аргумента %. Только вот везде в примерах приводят запись вида:
WHERE CustomerName LIKE 'a%'
Как этот аргумент добавить в моём случае?
Хуже класса Database здесь только класс checkSearch.
Оба отправляем на свалку истории, и учимся работать с БД через PDO.
pdo.php берем отсюда, заменив параметры подключения на свои
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
include_once ('../function.php');
require_once ('../pdo.php');
$search = trim($_POST['search'])."%";
$stmt = $pdo->prepare("SELECT * offices WHERE number_office LIKE ?");
$stmt->execute([$search]);
$data = $stmt->fetchAll();
?>
<table>
<?php foreach($data) as $values): ?>
<tr>
<?php foreach($values as $key => $value): ?>
<td class="<?= htmlspecialchars($key) ?>"><?= htmlspecialchars($value) ?></td>
<?php endforeach ?>
</tr>
<?php endforeach ?>
</table>
если интересно почитать про класс Database, вот список граблей, на которые наступают начинающие писатели классов для работы с базой данных. Если плохо с английским, можно использовать https://www.deepl.com/ru/translator
Вышел из положения таким образом:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
include_once ('../function.php');
$db = new Database;
class checkSearch
{
public $search;
function postSearch($serach)
{
return $this->search = $_POST['search'];
}
function trimSearch($search)
{
return $this->search = trim($this->postSearch($search) . '%');
}
function stripSearch($search)
{
return $this->serach = strip_tags($this->trimSearch($search));
}
}
$search = new checkSearch;
echo '<table>';
foreach($db->select('offices', '*', '', 'number_office LIKE ' . "'" .$search->stripSearch($_POST) . "'") as $values)
{
echo '<tr>';
foreach($values as $key => $value)
{
echo '<td class="' . $key . '">' . $value . '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
Благодаря примеру @DaemonHK
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, столкнулся с проблемой при отправке пушей средствами ApnsPHP
Нужно отсортировать массив, чтобы дочерние элементы шли сразу после родителяСложность в том, что в корне не обязательно будут стоять элементы...
Всем привет, не могу вывести цены по убыванию Мой контроллер