0 レビュー
1 回答
php-データベースからカレンダーページへのイベントの取得
データベース:
カレンダー1:
カレンダー2:
カレンダー3:
データベースから両方のイベントを月曜日の4日に取得しようとしていますが、なぜ4月と5月に1つのイベントしか取得できないのか疑問に思っています。
$sql = "SELECT title, contact, contact_email, DAYOFMONTH(start_date)
FROM $caltbl WHERE start_date LIKE '$year-$month%'";
$result = mysql_query($sql)or die(mysql_error());
$row_count = mysql_num_rows($result);
$record = mysql_fetch_array($result);
while ($day_num <= $days_in_month) {
echo "<td width=\"42\" valign=\"top\">
<a href='index.php?day=$day_num-$title-$year'>
$day_num</a><p/>";
if ($day_num == $record['DAYOFMONTH(start_date)']){
echo " <a href=\"#\">".$record['title']. "</a><br/>";
} else{
echo "<br /> " . "<br/> ";
}
echo "</td>";
$day_num++;
$day_count++;
編集:
while ($day_num <= $days_in_month) {
echo "<td width=\"42\" valign=\"top\"> <a href='index.php?day=$day_num-$title-$year'>$day_num</a><p/>";
if ($day_num == $record['DAYOFMONTH(start_date)']){
while ($event = mysql_fetch_assoc($result)) {
$array[] = $event;
}
print_r($array);
echo " <a href=\"#\">".$event['title']. "</a><br/>";
} else{
echo "<br /> " . "<br/> ";
}
echo "</td>";
$day_num++;
$day_count++;
// Make sure we start a new row each week
if ($day_count > 7) {
echo "</tr><tr>";
$day_count = 1;
}
}
わからない
0
レビュー
答え :
解決策:
空の配列を開く:
$arr = array();
while ($event = mysql_fetch_assoc($result)) {
$arr[] = $event;//store all the data in the $arr array
}
foreachループを実行して、イベントの詳細を出力します:
foreach($arr as $k=>$v){
if($v['DATEOFMONTH(start_date)']==$day_num){
echo '<a href="#">'.$v['title'].'</a><br/>';
}else{
echo "<br /> " . "<br/> ";
}
}
これがお役に立てば幸いです。 デモ
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。