Archief - MySQL: DATEDIFF Syntax Error ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

orez

Legacy Member
Code:

PHP:
$sql = "SELECT
                    tblActiviteit.ActiviteitID,
                    tblActiviteit.Datum,
                    tblActiviteit.totDatum,
                    DATEDIFF(tblActiviteit.Datum, tblActiviteit.totDatum) AS verschil,
                    DATE_FORMAT(tblActiviteit.Tijdstip, '%H:%i') AS Tijdstip,
                    tblActiviteit.Omschrijving,
                    tblActiviteitstype.Activiteitstype,
                    tblActiviteit.Locatie,
                    tblActiviteit.Titel
                FROM
                    tblActiviteit
                INNER JOIN
                    tblActiviteitstype
                ON
                    tblActiviteit.ActiviteitstypeID = tblActiviteitstype.ActiviteitsTypeID
                WHERE 
                    (tblActiviteit.Datum > '" . date('Y-m-d', time () - 5*24*3600) . "')
                ORDER BY 
                    tblActiviteit.Datum;";

Bovenstaande SQL roept dus activiteiten op uit de database, en toont deze niet meer weer als deze meer als 5 dagen geleden vanaf de current date verstreken zijn. Vandaar onderaan de where clausule.

Nu wat ik ook nog wil bekomen, is er kan een totDatum optioneel ingevuld worden, dit wanneer een activiteit over verschillende dagen verspreid is (bv een competitie die 3 dagen duurt).

Nu wil ik met DATEDIFF het verschil tussen de startDatum (tblActiviteit.Datum) en de eindDatum (tblActiviteit.totDatum) berekenen... Dit zou moeten de functie zijn, maar PHP retourneert een SQL Syntax fout op die lijn...

Die zaagt dus niet over een group by of iets dergelijks die nodig zou zijn, enkel over een syntax error.

Iemand die mij hierbij kan helpen?

Tnx in advance

killgore

Legacy Member
staat uw totDatum als default op NULL ??? (edit: dus '0000-00-00')

wat voor velden zijn totDatum en Datum trouwens :)?

orez

Legacy Member
beide velden zijn date velden.

Als er niets ingevuld wordt in de velden staan deze idd op 0000-00-00 (null dus)

killgore

Legacy Member
en uw mysql ondersteund et (doc zegt 4.1.1)?

wat is de volledige fout (wrsch niets speciaals, maar kom).

totDatum is ook in oude velden op 0000-00-00 gezet, en het is toch juiste veldnaam?

zet ook eens ` rond alles :p

werkt et trouwens wel als ge alleen de datediff lijn weglaat?

orez

Legacy Member
mja ok...

had dus nooit op de versie gelet, maar idd:

MySQL 4.0.24-standard is hetgeen mijne host draait.. op zoek naar een andere functie dan maar :(
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan