Уже решено. Я просто использовал
WHERE MONTH(due_date) = $month
в предложении SQL. Никогда не знала, что так будет. Спасибо за ваш ответ!Сравнить значение для каждой строки в таблице базы данных
У нас есть таблица под названием bills
. Мы не удаляем счет, даже если он уже оплачен для целей записи.
Таким образом, наша цель - показать только The Bills for this Month
. У меня есть $cur_month = current month value
. Я знаю, как извлечь значение месяца из поля, используя MONTH()
, используя цикл для запуска по таблице, но когда я пытаюсь сделать echo MONTH(date)
, значение, отображаемое в отображаемой серии, равно только MONTH VALUE первой строки. Кажется, ему не удалось получить MONTH VALUE других строк.
Фиксированный ниже код
$query = "SELECT * FROM bill WHERE MONTH(due_date)=$month";
$bresult = mysql_query($query);
while($brow = mysql_fetch_array($bresult, MYSQL_ASSOC))
{
$bdata = mysql_fetch_assoc(mysql_query("SELECT MONTH(due_date) AS M FROM `bill`"));
if($bdata['M'] == $month)
{
echo "<tr>";
echo "<td>".$brow['room_id']."</td>";
echo "<td>".$brow['tenant_id']."</td>";
echo "<td>".$brow['due_date']."</td>";
echo "</tr>";
}
}
$month
есть держатель текущего месяца
$bdata['M']
есть держатель месяца извлеченного. Мы просто отобразили его, чтобы проверить.Так что если
extracted_month
является equls кcurrent_month
затемdisplay bill
Я надеюсь, что вы можете помочь мне в этом.
PS: Все еще любитель. Это еще не интернет-сайт. Нам нужна помощь только для того, чтобы она работала.
Почему бы не использовать предложение WHERE в вашем первом SQL, чтобы только ВЫБРАТЬ счета в этом месяце? – Philip
Цикл должен быть выполнен по запросу 'SELECT MONTH (due_date) AS M FROM' bill'' и WHERE поможет, поскольку Филипп сказал –
ГДЕ МЕСЯЦ (due_date) = $ month ?. Кажется, это не работает. Ничего не отображается или что-то еще. Или дерьмо. Мы не добавили фиктивный счет для марша ахаха. Дай мне попробовать снова – iamDevlin