Количество записей по образцу
Есть код, выдающий общее количество записей в базе:
$sql = "SELECT * FROM lekarstvo";
if($result = mysqli_query($conn, $sql)){
$rowsCount = mysqli_num_rows($result); // количество полученных строк
echo "<p>Получено оценок всего: $rowsCount</p>";
mysqli_free_result($result);
} else{
echo "Ошибка: " . mysqli_error($conn);
}
Мне нужно, чтобы можно было получить количество записей по образцу. Например, Спасибо, или Хорошо и т.д. Каким должен быть код?
Ответы (1 шт):
для определения соответствия строки шаблону в SQL используется функция LIKE
Также для того чтобы не учитывать регистр букв - приведем значение нужного поля к нижнему регистру с помощью функции LOWER
Запрос будет выглядеть следующим образом:
SELECT * FROM lekarstvo WHERE LOWER(ball) LIKE '%отлично%'
Замечание:
т.к. значение поля приведено к нижнему регистру - в шаблоне строка так же должна быть в нижнем регистре, в противном случае функция гарантировано не найдет совпадений
и в коде
$sql = "SELECT * FROM lekarstvo WHERE LOWER(ball) LIKE '%отлично%';";
if($result = mysqli_query($conn, $sql)){
$rowsCount = mysqli_num_rows($result); // количество полученных строк
echo "<p>Получено оценок всего: $rowsCount</p>";
mysqli_free_result($result);
} else{
echo "Ошибка: " . mysqli_error($conn);
}
Имеем таблицу
Результат фильтрации в бд
Результат выполнения скрипта


