Обычно для проверки количества записей, извлекаемых из базы данных, мы используем функцию rowCount
при использовании PDO с PHP. Тем не менее, я застрял в случае, когда я хочу получить тот же результат для использования в операторе if...else
, но не могу его использовать, и ниже я объясню пример кода.
Нормальный случай:
$stmt = $pdo->prepare("SELECT * FROM table");
$stmt-> execute();
$count = $stmt->rowCount();
if($count > 0){
while($row = $stmt->fetch()){
// Perform a task....
}
}
Или мы также используем SELECT COUNT(*) as cnt FROM table
, а затем используем fetch для элемента count.
Однако проблема в моем случае заключается в том, что я не могу использовать эти методы, потому что они будут возвращать count значение запроса root, который был выполнен. И здесь у меня есть условие if
, которое при выполнении загружает результат, и я хочу подсчитать общее количество записей, удовлетворяющих этому условию.
Например:
$stmt = $pdo->prepare("SELECT * FROM table");
$stmt-> execute();
while($row = $stmt->fetch()){
// Suppose I have a variable $distance which I calculated and based on that the result should appear
if($distance < 100){
// Display the records which satisfied this condition
// Once the records are fetched, NOW I WANT TO COUNT THEM under "this" condition.
// This count will be based on the condition above which will be different from the root count using `rowCount`
if($count == 0){
// Perform a task here
}
}
}
Как считать количество записей, удовлетворяющих условию if($distance < 100)
? Любая помощь будет оценена.