0

だから私は非常に単純なカレンダーのコードを持っていますが、mysql データベースにクエリを実行して月の各日のイベントを見つける方法がわかりません。その情報をデータベースに照会する方法は知っていますが、カレンダーを作成するコードのどこにそれを配置するか、カレンダーを構造化する方法などはわかりません。私はphpカレンダーの多くのコードを見ましたが、各コードについてデータベースからデータを取得できませんでした。その方法がわかりません。どんな助けでも感謝します、ありがとう。db スタッフを含めるように編集されたカレンダー コード:

include ("connection.php"); 

$date =time (); 
$day = date('d', $date); 
$month = date('m', $date); 
$month = $month + "02";
$year = date('Y', $date); 
$years = substr($year, 2, 2);

$first_day = mktime(0,0,0,$month, 1, $year); 
$title = date('F', $first_day); 
$day_of_week = date('D', $first_day); 
switch($day_of_week){ 
    case "Sun": $blank = 0; break; 
    case "Mon": $blank = 1; break; 
    case "Tue": $blank = 2; break; 
    case "Wed": $blank = 3; break; 
    case "Thu": $blank = 4; break; 
    case "Fri": $blank = 5; break; 
    case "Sat": $blank = 6; break; 
}

$days_in_month = cal_days_in_month(0, $month, $year);
echo "<table border=1 width=294>";
echo "<tr><th colspan=7> $title $year </th></tr>";
echo "<tr><td width=42>S</td><td width=42>M</td><td 
width=42>T</td><td width=42>W</td><td width=42>T</td><td 
width=42>F</td><td width=42>S</td></tr>";
$day_count = 1;
echo "<tr>";

while ( $blank > 0 ) 
{ 
    echo "<td></td>"; 
    $blank = $blank-1; 
    $day_count++;
} 
$day_num = 1;
 while ( $day_num <= $days_in_month ) 
{ 

echo "<td> $day_num <br/>";


$result = mysql_query("SELECT time, length FROM hire WHERE day = '$day_num' and month =    '$month' and year = '$years'") or die ('Error: '.mysql_error ());

while ($row = mysql_fetch_array($result)){

$time = $row['time'];
$length = $row['length'];

}

if (isset($time) and (isset($length))) {
 echo "Time: " . $time . "<br/> Length: " . $length . "<br/>";
}

"</td>";



    $day_num++; 
    $day_count++;
        if ($day_count > 7)
        {
        echo "</tr><tr>";
        $day_count = 1;
        }

} 

while ( $day_count >1 && $day_count <=7 ) 
{ 
    echo "<td> </td>"; 
    $day_count++; 
} 

echo "</tr></table>"; 
4

1 に答える 1

0

日付セルが出力される場所にデータベース コードを配置する必要があります。コードは次のとおりです。

<?php
include ("connection.php"); 

$date =time (); 
$day = date('d', $date); 
$month = date('m', $date); 
$month = $month + "01";
$year = date('Y', $date); 

$first_day = mktime(0,0,0,$month, 1, $year); 
$title = date('F', $first_day); 
$day_of_week = date('D', $first_day); 
switch($day_of_week){ 
    case "Sun": $blank = 0; break; 
    case "Mon": $blank = 1; break; 
    case "Tue": $blank = 2; break; 
    case "Wed": $blank = 3; break; 
    case "Thu": $blank = 4; break; 
    case "Fri": $blank = 5; break; 
    case "Sat": $blank = 6; break; 
}

$days_in_month = cal_days_in_month(0, $month, $year);
echo "<table border=1 width=294>";
echo "<tr><th colspan=7> $title $year </th></tr>";
echo "<tr><td width=42>S</td><td width=42>M</td><td width=42>T</td><td width=42>W</td><td width=42>T</td><td width=42>F</td><td width=42>S</td></tr>";
$day_count = 1;
echo "<tr>";

while ( $blank > 0 ) 
{ 
    echo "<td></td>"; 
    $blank = $blank-1; 
    $day_count++;
} 
$day_num = 1;
 while ( $day_num <= $days_in_month ) 
{ 
    //database code here
    $result = ''; //formatted html result
    echo "<td> $day_num $result</td>"; 
    $day_num++; 
    $day_count++;
    if ($day_count > 7)
    {
        echo "</tr><tr>";
        $day_count = 1;
    }
} 

while ( $day_count >1 && $day_count <=7 ) 
{ 
    echo "<td> </td>"; 
    $day_count++; 
} 

echo "</tr></table>"; 
于 2013-01-20T16:06:16.797 に答える