Hoi, hopelijk kan iemand mij helpen met onderstaande code:


<?php

//verbinden met database
include("contactdb.php");


$query = "UPDATE aanmelding SET cat = 
CASE EXTRACT(YEAR FROM gebdat)  
WHEN '2000' THEN Pupullen A
WHEN '2001' THEN Pupullen B
WHEN '2002' THEN Pupullen C
ELSE Junioren 
END"; 
  

$result = mysql_query($query) or die ("FOUT1: " . mySql_error());

?>


De code doet precies wat het moet doen, de kolom cat wordt geupdate afhankelijk van de inhoud van de kolom gebdat. Dus indien gebdat = 2000 krijgt de kolom cat Pupillen A. Echter nu veranderd dit elk jaar en moet alles hardcoded opnieuw aangepast worden. Ik wil het zo maken dat van het huidige jaar 11 jaar worden afgetrokken en de uitkomst daarvan worden vergeleken met de kolom gebdat. Zie onderstaand niet werkend voorbeeld:



<?php

//verbinden met database
include("contactdb.php");


$query = "UPDATE aanmelding SET cat = 
CASE EXTRACT(YEAR FROM gebdat)  
WHEN 'YEAR(NOW) -11' THEN Pupullen A
WHEN 'YEAR(NOW) -12' THEN Pupullen B
WHEN 'YEAR(NOW) -13' THEN Pupullen C
ELSE Junioren 
END"; 
  

$result = mysql_query($query) or die ("FOUT1: " . mySql_error());

?>


Iemand enig idee om mij wat verder te helpen, bij voorbaat dank.
Als je toch een INSERT of UPDATE doet van uit PHP dan kun je de keuze in welke klassen iemand speelt ook in de PHP omgeving doen.

Dus bij de INSERT of UPDATE mee geven in welke klassen hij speelt.

De DATABASE moet dan gaan controleren of dit wel het geval is. Maar soms wilt men deze regel ook weer kunnen overschrijven. Dus ik zou het aan de client/PHP kant gaan oplossen. Wat je ook kun doen is gewoon er voor zorgen dat de user interface alvast de juiste klasse selecteerd bij het invoeren van de geboorte datum, dan kun je ook nog van de regel afwijken. Je moet dan alleen een VIEW maken met daarin iedereen met een afwijkende geboorte datum.


Groetjes: Roger Keulen


CREATE VIEW view_SPELERS AS
  SELECT *, 
  CASE YEAR(CURRENT_TIMESTAMP)-YEAR(splGEBDAT) 
    WHEN 7 THEN 'Pupillen A'
    WHEN 8 THEN 'Pupillen B'
    WHEN 9 THEN 'Pupillen C'
    ELSE 'Junioren' END AS splKLASSEN 
  FROM `spl_SPELERS`
  ORDER BY splKLASSEN, splACHTERNAAM, splVOORNAAM


Alleen wat als je jarig bent tijdens de tweede helft?


Groetjes: Roger Keulen.

Reageren