probleem met sql statement en met if statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruud van Dijk

Ruud van Dijk

14/01/2008 21:34:00
Quote Anchor link
ik wil controleren of de tijd die in de database staat opgeslagen - 10 minuten kleiner is dan de huidige tijd NOW()

Hoe krijg ik dit voor elkaar?
ik heb gehoord dat je het kunt doet met case maar daarmee kom ik er niet uit ik heb daarbij namleijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$query3
= "SELECT winkelwagen_levering
        CASE winkelwagen_levering
        WHEN  NOW() < winkelwagen_levering - INTERVAL 10 MINUTE
            THEN 1
            ELSE 0
        END AS mag_aanpassen
        FROM tbl_winkelwagen
        WHERE winkelwagen_ID = $pizza"
;
$mysql3 =  mysql_query($query3) or die(mysql_error());
$row3 = mysql_fetch_array($mysql3);
?>



maar dan krijg ik een foutmelding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE WHEN NOW() < winkelwagen_levering - INTERVAL 10 MINUTE THEN 1 ' at line 2


Wat is de fout en hoe werkt vervolgens de if controle?
 
PHP hulp

PHP hulp

21/05/2024 12:41:37
 
Frank -

Frank -

14/01/2008 21:35:00
Quote Anchor link
Achter de eerste keer dat je de kolom winkelwagen_levering opvraagt, ontbreekt een komma. Dus vóór het begin van de CASE.

Edit: iets gedetaileerder beschreven....
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
  winkelwagen_levering,
  CASE
      WHEN  NOW() < winkelwagen_levering - INTERVAL 10 MINUTE
        THEN 1
        ELSE 0
   END AS mag_aanpassen
FROM
  tbl_winkelwagen
WHERE
  winkelwagen_ID = $pizza

En de query even netjes genoteerd, dan valt zo'n foutje ook veel beter op. Query tevens ietsjes aangepast, zou nu goed moeten zijn.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Ruud van Dijk

Ruud van Dijk

14/01/2008 21:38:00
Quote Anchor link
ik zag het gelijk toen je het de eerste keer al zei ;)

if($row3['mag_aanpassen'] == 1){
echo 'mag nog aanpassen';
}
else {
echo 'MAG NIET MEER';
}


Werkt goed dus ik neem aan dat deze if goed opgebouwd is

ik heb namelijk nog nooit met case gewerkt vandaar dat ik ook niet weet wat het deed/doet
 
Frank -

Frank -

14/01/2008 21:40:00
Quote Anchor link
Soms is een half woord al genoeg!

Hopelijk kunnen anderen dan nog iets met de aanvulling, daar is het tenslotte een forum voor: leren van andermans fouten. Scheelt je een hele berg tijd.
 
Ruud van Dijk

Ruud van Dijk

14/01/2008 21:42:00
Quote Anchor link
yup klopt en een komma vergeten zie je heel snel over het hoofd ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.