Avatar billede yHec Novice
26. august 2007 - 21:15 Der er 7 kommentarer og
1 løsning

IF statement i en SQL-sætning

Hej Eksperter.
Jeg har fundet følgende:
http://dev.mysql.com/doc/refman/5.1/en/if-statement.html

Men kan ikke rigtigt gennemskue brugen af det.

Mit problem er, at jeg er ved at lave noget lagerstyring til en web-shop.

Når den sidste vare er købt, skal lagertabellen opdateres, således at feltet Udsolgt sættes TRUE, ellers skal der bare trækkes antallet af varer fra lagerbeholdningen - feltet Beholdning.

Jeg har lavet følgende, men får en syntakserror:

$query_rs_test = "SELECT * FROM lagertabel IF Beholdning-$solgte==0 THEN UPDATE lagertabel set Udsolgt='TRUE' ELSE Beholdning=Beholdning-1 END IF"

Jeg kan ikke gennemskue det...

/y
Avatar billede nielle Nybegynder
26. august 2007 - 22:20 #1
Sådan?

$query_rs_test = "
SELECT * FROM lagertabel
IF beholdning - $solgte <= 0 THEN
    UPDATE lagertabel SET beholdning = beholdning - $solgte, udsolgt = 'TRUE'
ELSE
    UPDATE lagertabel SET beholdning = beholdning - $solgte
END IF
"
Avatar billede yHec Novice
26. august 2007 - 23:58 #2
Hmmm. Det virker ikke. Det var også sådan jeg prøvede det af..
Får følgende:
SELECT * FROM lagertabel WHERE ID = 119 IF Beholdning - 2 <= 0 THEN UPDATE lagertabel SET Beholdning = Beholdning - 2, Udsolgt = 'TRUE' ELSE UPDATE lagertabel SET Beholdning = Beholdning - 2 END IF 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 'IF Beholdning - 2 <= 0 THEN UPDATE lagertabel SET Beholdning = Beholdning -' at line 2

Og man bliver ikke klogere af MySQLs hjemmmeside...

/y
Avatar billede majbom Novice
27. august 2007 - 09:15 #3
Beholdning skal ikke være beholdning? (lille b)
Avatar billede yHec Novice
27. august 2007 - 11:14 #4
@splazz: nej
Avatar billede dkfire Nybegynder
27. august 2007 - 16:02 #5
Hvilken version af mysql bruger du ??
Avatar billede yHec Novice
27. august 2007 - 16:08 #6
En der ikke er ny nok.... Det oppdagede jeg...

Ligger hos one.com

/y
Avatar billede nielle Nybegynder
27. august 2007 - 21:02 #7
Du skal selv acceptere dit svar hvis du vil have dine point tilbage.
Avatar billede yHec Novice
27. august 2007 - 22:38 #8
Det ved jeg godt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester