Informatika
- Többszörösen összetett SQL lekérdezés. Ez a néhány sor 2-3 nehéz órámba került. nevet Aki hasonló probléma megoldásán fáradozik, annak sokat segít.
- Program mûködése: csak abban az esetben tudja az illetõ felvenni a $_POST tárgyat, ha ötösre teljesítette azt (ETR-es rendszerekhez hasonló, csak ott ez 2-es). Tegnap kipróbáltam különbözõ kezdeti feltételekkel (közben kiderültek a hibák és azok javítva lettek) és végül hiba nélkül futott. Ha a tárgyhoz nem tartozik elõfeltétel, az illetõ gond nélkül felveszi és így lefut az update parancs is, hiszen a többszörösen összetett select utasítás IF vezérlési szerkezete automatikusan 1-et ad eredményül.
- Az sql parancs nyilván nem kerül a kukába, hanem alap,közép,emeltszintû fórumjog megszerzéséhez irányuló vizsgatárgyak felvételét teszi majd lehetõvé. Aki ötösre teljesíti az alapszintet, az fórumjogot szerez, ezzel megvan az elõfeltétel és föl tudja venni a közép, majd az emeltszintû tárgyakat (ezeket nem kötelezõ felvenni, bár a stréberebbeknek ajánlott, hiszen a fórumjog nem vész el, ha azok már nem sikerülnek nevet ).
PHP-MYSQL programkód:
< ?php
$sql = "UPDATE kurzustabla SET KRT_JELENTK=CONCAT(KRT_JELENTK,'"._US_ID_."|') WHERE KRT_ID='".$_POST."' AND (SELECT IF((SELECT 'OK' FROM exam WHERE (SELECT TRG_ELOFELT FROM targylist WHERE TRG_KOD='".$_POST."' limit 1) LIKE CONCAT('%',EX_TRG_KOD,'%') AND EX_TELJESIT LIKE '%."._US_ID_."||5%' limit 1)='OK' OR (SELECT TRG_ELOFELT FROM targylist WHERE TRG_KOD='".$_POST."' limit 1)='',1,0)) = 1";
if(!mysql_query($sql)) {print mysql_error(); }
elseif(mysql_affected_rows()!=1) { print $_POST." kurzus felvétele sikertelen hiányzó elõfeltétel miatt!";}
else { print $_POST." kurzus felvétele sikeres!";}
? >
- Program mûködése: csak abban az esetben tudja az illetõ felvenni a $_POST tárgyat, ha ötösre teljesítette azt (ETR-es rendszerekhez hasonló, csak ott ez 2-es). Tegnap kipróbáltam különbözõ kezdeti feltételekkel (közben kiderültek a hibák és azok javítva lettek) és végül hiba nélkül futott. Ha a tárgyhoz nem tartozik elõfeltétel, az illetõ gond nélkül felveszi és így lefut az update parancs is, hiszen a többszörösen összetett select utasítás IF vezérlési szerkezete automatikusan 1-et ad eredményül.
- Az sql parancs nyilván nem kerül a kukába, hanem alap,közép,emeltszintû fórumjog megszerzéséhez irányuló vizsgatárgyak felvételét teszi majd lehetõvé. Aki ötösre teljesíti az alapszintet, az fórumjogot szerez, ezzel megvan az elõfeltétel és föl tudja venni a közép, majd az emeltszintû tárgyakat (ezeket nem kötelezõ felvenni, bár a stréberebbeknek ajánlott, hiszen a fórumjog nem vész el, ha azok már nem sikerülnek nevet ).
PHP-MYSQL programkód:
< ?php
$sql = "UPDATE kurzustabla SET KRT_JELENTK=CONCAT(KRT_JELENTK,'"._US_ID_."|') WHERE KRT_ID='".$_POST."' AND (SELECT IF((SELECT 'OK' FROM exam WHERE (SELECT TRG_ELOFELT FROM targylist WHERE TRG_KOD='".$_POST."' limit 1) LIKE CONCAT('%',EX_TRG_KOD,'%') AND EX_TELJESIT LIKE '%."._US_ID_."||5%' limit 1)='OK' OR (SELECT TRG_ELOFELT FROM targylist WHERE TRG_KOD='".$_POST."' limit 1)='',1,0)) = 1";
if(!mysql_query($sql)) {print mysql_error(); }
elseif(mysql_affected_rows()!=1) { print $_POST." kurzus felvétele sikertelen hiányzó elõfeltétel miatt!";}
else { print $_POST." kurzus felvétele sikeres!";}
? >