login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL + IF?

Offline lasdesigner - 18/04/2008 09:46
Avatar van lasdesignerPHP beginner Hallo;

Ik heb de volgende query
  1. <?php
  2. $query = "
  3. SELECT
  4. SUM((f.price1 * b.quantitysmall) + (f.price2 * b.quantitybig)) as totaalprijs
  5. FROM
  6. flowers f
  7. INNER JOIN
  8. payments b
  9. ON
  10. (f.id = b.flower_id)
  11. WHERE
  12. b.customer_id = ".$id."
  13. AND
  14. b.done = 0
  15. AND
  16. b.date = NOW()";
  17. ?>


Hij werkt goed; maar nu is er ook een mogelijkheid dat special aanstaat (ook een bepaalde kolom in de tabel). Als dat aan is moet hij niet f.price1 maar f.price11 pakken en niet f.price2 maar f.price22. Hoe kan ik dat erin bouwen, een soort IF structuur?

Het kan ook zijn dat er zowel special als niet special in zitten..

4 antwoorden

Gesponsorde links
Offline cloudstrife - 18/04/2008 09:50
Avatar van cloudstrife PHP beginner Puur in je query kan je geen if gaan gebruiken, je kan wel de string via php samenstellen en daar met een if werken...
Offline Stijn - 18/04/2008 09:51
Avatar van Stijn PHP expert
cloudstrife schreef:
Puur in je query kan je geen if gaan gebruiken, je kan wel de string via php samenstellen en daar met een if werken...
ha, toch wel! Kijk hier eens naar.
Offline lasdesigner - 18/04/2008 09:56 (laatste wijziging 18/04/2008 10:09)
Avatar van lasdesigner PHP beginner Ik heb het nu zo; maar hij werkt niet:

  1. <?php
  2. $query = "
  3. SELECT
  4. SUM((IF(f.special == 1, f.price12, f.price1) * b.quantitysmall) + IF(f.special == 1, f.price22, f.price2) * b.quantitybig)) as totaalprijs
  5. FROM
  6. flowers f
  7. INNER JOIN
  8. payments b
  9. ON
  10. (f.id = b.flower_id)
  11. WHERE
  12. b.customer_id = ".$id."
  13. AND
  14. b.done = 0
  15. AND
  16. b.date = NOW()";
  17. ?>
Offline Rik - 18/04/2008 16:21
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
In SQl is het = en niet == zoals in php.  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s