Hallo,

Ik krijg een foutmelding bij deze if en else.

wat doe ik precies verkeerd?
<?
$query = mysql_query("SELECT city, venue, datum, country FROM concerts WHERE zichtbaar = 1 AND date_format(datum,'%m%d') = date_format(now(),'%m%d')");
for ( ;$r = mysql_fetch_assoc($query); )
{
if (date_format(now(),'%m%d') == date_format($r['datum'],'%m%d'))
{
echo "<span class='subkop'>Gigs:</span>";
echo "<br><br>";
echo "<span class='normal'>Today in&nbsp;<i>".$r['city'].",&nbsp;".$r['country']."</i>&nbsp;there's a gig at&nbsp;<i>".$r['venue']."</i></span><br>";
}
else
{
echo "There's no gig today";
}
}
?>
een foutmelding
En wij mogen raden welke foutmelding?

Verder is het handig om eens <?php en ?> om je script te zetten, gebruik de EDIT mogelijkheid binnen jouw topic.;

date_format(datum,'%m%d') = date_format(now(),'%m%d') is overigens geen handige vergelijking, met MONTH() en DAY() kun je een veel fraaiere vergelijking maken.
<?php
for ( ;$r = mysql_fetch_assoc($query); )
?>

Hier is while beter voor
<?php
while($r = mysql_fetch_assoc($query))
?>
Er zitten nog veel meer fouten in:
<?php
if (date_format(now(),'%m%d') == date_format($r['datum'],'%m%d'))
{
?>
date_format() is geen php-functie, net zo min als now() dat is.
ik heb de genoemde opmerkingen aangepast en krijg momenteel deze melding:

Fatal error: Call to undefined function: date_format() in C:\website\index1.php on line 98
Er wordt gezecht dat de functie date_format() niet gevonden wordt.
En dit klopt ook, want zoals Frank al zei, date_format() is geen php functie
Hoe ga ik dat dan een beetje goed breien?? (ben nog een phprutser
Ik snap niet wat je wilt bereiken. Je hebt in de query een WHERE staan, dit levert dus een beperkt aantal resultaten op, en volgens ga je dezelfde vergelijking nog eens met if/else in php bouwen. Dat is zinloos omdat je door de WHERE al precies weet waaraan de resultaten voldoen.

Leg eens uit wat de bedoeling is en waarom je geen volledige vergelijking in de SQL wilt doen. Met een CASE is ook een hele hoop mogelijk.
Het gene wat ik wil bereiken is het volgende:

In mijn database staat een concert datum... wanneer er vandaag een concert is dan moet hij dus de plek, plaats en land laten zien (op de concert datum) wanneer er geen concert is dan moet hij "er is vandaag geen concert" laten zien

Hopelijk heb ik het zo een beetje goed uitgelegd...
<?php
$query = "
SELECT
concert
FROM
tabelnaam
WHERE
concertdatum = CURDATE()
";
$result = mysql_query($query) or die(mysql_error());

$aantal = mysql_num_rows($result);

if($aantal == 0){
echo 'Er is vandaag geen concert';
}
else {
echo 'Vandaag zijn er de volgende concert (-en):<br>';

while($row = mysql_fetch_assoc($result)){
echo $row['concert'].'<br>';
}
}
?>
Zoiets?

Edit: Stomme fout, een enkele = i.p.v. == gebruikt in de vergelijking... Hersteld!
@Frank: Bedankt... heb hem werkende gekregen :) thx

Reageren