안녕하세요. 나는 30 분 간격으로 일정을 출력하려고하고 있으며 그 시간에 무슨 일이 일어나고 있는지 DB에 쿼리하고 싶습니다. 수동으로 시간 (시, 분, 오전/오후 (월, 년, 일이있는 그대로)을 입력하면) 이벤트가 발생합니다. 그것은 단지 쿼리가 루프에서 시간을 끌어 오면 작동하지 않습니다. 어떤 아이디어?루프 내의 루프 내의 SQL 쿼리
$day = date('d');
$year = date('Y');
$month = date('m');
$start = mktime(0,0,0);
$thing_query="SELECT thing FROM things WHERE day='$day' AND month='$month' AND year='$year' AND hour='$hour' AND minute='$minute' AND ampm='$am'";
$result=mysql_query($thing_query);
for($min = 0; $min < 24 * 60 * 60; $min += 30 * 60)
{
$hour=date("h", $start + $min);
$minute=date("i", $start + $min);
$am=date("A", $start + $min);
while ($row=mysql_fetch_array($result)) {
$thing = $row[0];
}
printf("<tr><td>%s</td><td>$thing</td></tr>",
date("g:i a", $start + $min));
}
오류가 있습니까? 쿼리가 실패합니까? –
하루에 일어나는 모든 일에 대해 데이터베이스를 쿼리하지 않고 30 분 간격으로 반복하고 그 시간에 이벤트가 표시되는 이유는 무엇입니까? 이렇게하면 각 간격에 대해 지속적으로 쿼리를 보내지 않아도됩니다. –
BTW : 변수를 printf 문자열 안에 넣지 마십시오. 변수는 '%'문자를 포함 할 수 있으며 printf는 비참하게 실패 할 수 있습니다. –