agenda weergave

Status
Niet open voor verdere reacties.

martio123

Gebruiker
Lid geworden
20 apr 2010
Berichten
5
Goededag,
ik heb een evenementenagenda op mijn site. bij een meerdaags evenement word bij het verstrijken van de eerste dag het evenement niet meer weergegeven. wie kan me daarmee helpen?

http://www.atw.nl/agenda


PHP:
<?
$_SESSION['location'] = $_SERVER['REQUEST_URI'];
$result = mysql_fetch_row(mysql_query("SELECT count(id) FROM articles WHERE section = '$pagecatnr'"));
$articlecount = $result[0];
?>

<table border="0" cellpadding="0" cellspacing="0" width="775">
	<tr>
		<td width="200" valign="top">
		<?
		include('library/inc_news_navigation.php');
		include('library/inc_aktueel_sidebar_short.php');
		?>				
		<p>&nbsp;</td>
		<td valign="top" width="20">&nbsp;</td>
		<td valign="top" width="555">
		<table border="0" cellpadding="0" cellspacing="0" width="555">
			<tr>
				<td height="5"><b>Vakbeurzen & Evenementen</b></td>
			</tr>
			<tr>
				<td height="5"><br>
				<table cellSpacing="0" cellPadding="0" width="550" border="0">
					<?
					$year = Date("Y");
					$q = "SELECT vandate, totdate, naam, plaats, id FROM agenda WHERE vandate >= CURDATE() AND year(vandate) = '$year' ORDER BY vandate ASC, naam";
					$result = mysql_query($q) OR DIE(mysql_error());
					$aantal = mysql_num_rows($result); $i = 0;
					
					while($i < $aantal) {
						
						$eventid = mysql_result($result, $i, "id");
						$eventnaam = mysql_result($result, $i, "naam");
						$eventplaats = mysql_result($result, $i, "plaats");
						$vandatum = mysql_result($result, $i, "vandate");
						$totdatum = mysql_result($result, $i, "totdate");
						
						if ($vandatum == $totdatum) {
							echo '
							<tr>
								<td vAlign="top" align="left" width="54"><font face="Verdana" style="font-size: 8pt">'.GetAgendaDate($vandatum, 'dag').'</font></td>
								<td vAlign="top" width="200"><p style="margin-left: 3px"><font face="Verdana" style="font-size: 8pt; text-decoration: none">'.GetAgendaDate($vandatum, 'bla').'</font></td>
								<td vAlign="top" width="200"><p style="margin-left: 3px"><font face="Verdana" style="font-size: 8pt; text-decoration: none">in '.ucfirst(strtolower($eventplaats)).'</font></td>
							</tr>';
						} else {
							echo '
							<tr>
								<td vAlign="top" align="left" width="54"><font face="Verdana" style="font-size: 8pt">'.GetAgendaDate($vandatum, 'dag').'</font></td>
								<td vAlign="top" width="200"><p style="margin-left: 3px"><font face="Verdana" style="font-size: 8pt; text-decoration: none">'.GetAgendaDate($vandatum, 'bla').' tot '.GetAgendaDate($totdatum, 'bla').'</font></td>
								<td vAlign="top" width="200"><p style="margin-left: 3px"><font face="Verdana" style="font-size: 8pt; text-decoration: none">in '.ucfirst(strtolower($eventplaats)).'</font></td>
							</tr>';
						}
						
						echo '
						<tr>
							<td align="left" width="54"><p style="margin-left: 15px"><img border="0" src="images/pointer-extend.gif" width="10" height="8"></td>
							<td height="20" colspan="2"><p style="margin-left: 3px"><font face="Arial" style="font-size: 9pt"><a href="/agenda/'.CreateFriendlyUrl($eventid, $eventnaam).'" class="class1">'.$eventnaam.'</a></font></td>
						</tr>
						<tr>
							<td width="244" height="15" colspan="3"></td>
						</tr>';
						$i++;
					}
					?>
			
					
				</table>
				</td>
			</tr>
		</table>
		</td>
	</tr>
</table>

alvst bedankt!
 
Je zoekt alle evenementen op waarbij de begindag in de toekomst ligt. Zodra het evenement begonnen is, ligt de begindag in het verleden en wordt die niet meer opgehaald.

Wat je moet doen is alle evenementen zoeken waar de einddag in de toekomst ligt, dan komen de actieve evenementen ook tevoorschijn.
 
Kun je op deze wijze is je query aanpassen?
PHP:
$curdate = date('Y-m-d');
$q = "SELECT vandate, totdate, naam, plaats, id FROM agenda WHERE vandate >= '$curdate' ORDER BY vandate ASC, naam";

En resultaat posten.

Groet Joost
 
bedankt voor je reactie, ik heb hem aangepast, maar helaas werkte het niet ;-(
nog andere tips?
en is mijn probleem duidelijk?

dus als ik in mijn phpmyadmin een evenement invoer, dat duurt van 2 mei tm 8 mei, dan laat de site het evenement zien tot 2 mei, en daarna niet meer, dus 3 mei staat het event niet meer aangeduid terwijl je er wel heen kunt...
 
Laatst bewerkt:
Zie mijn reactie, martio123. Heb je dat al geprobeerd?
 
En zo:

PHP:
$curdate = date('Y-m-d');
$q = "SELECT vandate, totdate, naam, plaats, id FROM agenda WHERE vandate >= '$curdate' OR totdate >= '$curdate' ORDER BY vandate ASC, naam";
 
je hebt het geflikt Joost!
hij werkt nu zoals ik het graag zou willen!!!
ik ben je heel erg dankbaar!
groeten martijn.
 
Dit is onzin:

PHP:
$curdate = date('Y-m-d');

MySQL weet precies welke datum het is, en dat kan gewoon met de constante CURRENT_DATE of met de method CURRENT_DATE().

SELECT x FROM y WHERE a > CURRENT_DATE
 
Klopt, maar is niet erg handig. Maar goed, mij maakt het niet uit verder.
 
beste SVU,

zou je dan nog een keertje de volledige php regel willen posten?
dan ga ik hem wel even uitproberen
alvast bedankt voor je inzet!
groeten martijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan