beste php'ers :D

normaal gezien zou via dit script de vervaldatum (exp_date) 3 maanden op voorhand
moeten worden weergegeven maar: ik krijg alle records in de het veld te zien (6)
het totaal aantal in de database dus en niet slechts 1 die wel voldoet aan de criteria ?

hier eerst het script:

				<?php
$query_result = mysqli_query($con, "SELECT 
    DATE_FORMAT(DATE_ADD('exp_date', INTERVAL -3 MONTH), '%m-%Y') AS nieuwe_datum 
FROM 
    products");
$num_rows_query = mysqli_num_rows($query_result);
?> 

<a href="borrowed.php">
    <span class="count_top"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Vervaldatum alarm!!!</span>
</a>

<div class="count <?php echo ($num_rows_query > 0) ? 'red' : 'green'; ?>"><?php echo ($num_rows_query > 0) ? $num_rows_query : '0'; ?></div>

<span class="count_bottom "> product(en) vervallen over 3 maanden</span>
</div>


dit zijn de datums in het veld exp_date:

2023-12-11
2025-11-07
2025-09-15
2026-12-01
2026-09-30
2027-09-17

wie kan mij vertellen waar de fout zit?
het lijkt alsof hij gewoon de rijen telt zonder naar de voorwaarde te kijken
je zegt zelf al dat je een voorwaarde wilt stellen, dus dan moet je een WHERE gebruiken.

SELECT *
FROM jouw_tabel
WHERE exp_date <= DATE_ADD(NOW(), INTERVAL 3 MONTH);
** knip **
AI gegenereerde SPAM ?
En dus dicht. Op verzoek van de topicstarter kan ik dit topic weer openen.

Reageren