2016-04-15 9 views
1

Datenbank: Database Kalender 1: Calendar 1 Kalender 2: Calendar 2 Kalender 3: Calendar 3bekommen Ereignisse aus der Datenbank zum Kalender Seite

Ich versuche, aus der Datenbank auf dem 4. beiden Veranstaltungen zu bekommen Montags und ich frage mich, warum ich nur eine Veranstaltung für April und Mai bekomme.

$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\"> 
     &nbsp;<a href='index.php?day=$day_num-$title-$year'> 
     $day_num</a><p/>"; 

if ($day_num == $record['DAYOFMONTH(start_date)']){  
    echo "&nbsp;<a href=\"#\">".$record['title']. "</a><br/>";  
} else{ 
    echo "<br />&nbsp;" . "<br/>&nbsp;"; 
} 
echo "</td>"; 
$day_num++; 
$day_count++; 

EDIT:

while ($day_num <= $days_in_month) { 
echo "<td width=\"42\" valign=\"top\">&nbsp;<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 "&nbsp;<a href=\"#\">".$event['title']. "</a><br/>"; 

} else{ 
    echo "<br />&nbsp;" . "<br/>&nbsp;"; 
} 
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

Verwenden Sie Vollkalender oder andere Kalender-Plugins? Es ist unklar, was Sie mit dem von Ihnen bereitgestellten Code und Bildschirm erreichen möchten. –

+0

Nein Ich verwende keine Plugins. Was ich wissen möchte, ist, warum ich nur einen Datensatz für den aktuellen Monat bekomme, wenn die Datenbank 4 zeigt: zwei für 4/4 und jeweils eins für 4/8 und 4/17. –

+0

Probieren Sie Gruppe BY-Titel. –

Antwort

0

Öffnen ein leeres Array:

$arr = array();   
while ($event = mysql_fetch_assoc($result)) { 
     $arr[] = $event;//store all the data in the $arr array 
    } 

eine foreach Schleife ausgeführt, um das Ereignis Detail zu drucken:

foreach($arr as $k=>$v){ 
    if($v['DATEOFMONTH(start_date)']==$day_num){ 
     echo '<a href="#">'.$v['title'].'</a><br/>'; 
    }else{ 
     echo "<br />&nbsp;" . "<br/>&nbsp;"; 
    } 
    } 

Hoffe, das kann helfen. demo

+0

Vielen Dank, das hat funktioniert, aber wie stelle ich sicher, dass alle Ereignisse für den Tag outputed? –

Verwandte Themen