[php/mysql] Query met Datum

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
PROBLEEM IS NOG NIET OPGELOST! :(

nu klopt de titel niet helemaal maar wist niet hoe ik het ander kort moest omschrijven :)

het probleem:
ik wil een standaardbonus selecteren uit een database uit een tabel Abonnementvormen
hierbij wordt gebruik gemaakt van de ingevoerde contractstermijn de begin en einddatum van een bonus.
aan ieder abonnement zit een bonus aan vast die een bepaalde periode geldig is. na die periode worden deze bonussen opnieuw berekend en kunnen dus veranderen.
deze gegevens worden geimporteerd in een db en dus zijn de bonussen van vele periodes in de db te vinden..

nu de query:
PHP:
4
5
6
7
8
9
10
11
12
13
14
    //standard bonus ophalen bij aangemaakte abonnement
    $query_bonus = 'SELECT '.$termijn.'
                    FROM Abonvormen 
                    WHERE abonnr = '.$abonnr.'
                    AND '.$aanvraagdatum.' BETWEEN DATE(begin_datum) AND DATE(eind_datum)
                     LIMIT 1';
    $res_bonus = mysql_query($query_bonus, $conn);
    $standardbonus = mysql_result($res_bonus,0);
    if(empty($standardbonus)){
        $standardbonus = '0';
    }

ik neem aan dat de fout he in de BETWEEN zit.

anyone?

[ Voor 15% gewijzigd door Tijgertje84 op 08-11-2005 08:59 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom gebruik je DATE()? Sla je de data wel als datum op in de database?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
jup daarom gebruik ik juist date()....

Veld Type Standaardwaarde
begin_datum date 0000-00-00

dus neem aan dat het dan goed is..

btw de testgegevens waarmee ik dit test:
$aanvraagdatum = 2005-11-03
$termijn = 12
begin_datum = 2005-11-01
eind_datum = 2005-11-30
wat als resultaat dus moet komen is dit:
sbonus12 = 220

[ Voor 40% gewijzigd door Tijgertje84 op 03-11-2005 16:07 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Nee, je veld is al van het type date, daar hoef je niet ook nog eens een date-functie overheen te halen in je between.

$termijn == 12? :X

Dan staat er dus dit:
SQL:
1
SELECT 12

Dan maakt het niet uit wat eronder staat, het enige dat dat nu nog beïnvloedt is of je een record terugkrijgt. Je zal toch echt een veld moeten selecteren, geen integer.

[ Voor 52% gewijzigd door NMe op 03-11-2005 16:10 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
Doh,sorry had dat inderdaad maar ik had dit daarvoorstaan:
PHP:
4
$query_bonus = 'SELECT sbonus'.$termijn.''

(Door te proberen ben ik soms wat dingen te undo'en.. ><)
de kolommen waar de bonussen in staan heten: sbonus6, sbonus12, sbonus24 en sbonus36
maar omdat de termijn bepaald welke kolom hij moet nemen doet hij dit maar
maar dit werkt dus ook niet dus had ik van te voren ook al dit geprobeerd:
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if($termijn == 6){
        $sbonus = 'sbonus6';
    }
    elseif($termijn == 12){
        $sbonus = 'sbonus12';
    }
    elseif($termijn == 24){
        $sbonus = 'sbonus24';
    }
    elseif($termijn == 36){
        $sbonus = 'sbonus36';
    }
    //standard bonus ophalen bij aangemaakte abonnement
    $query_bonus = 'SELECT '.$sbonus.'
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              AND '.$aanvraagdatum.' BETWEEN begin_datum AND eind_datum
              LIMIT 1';

maar dat werkt ook niet..
heb egt vanalles gedaan of geprobeerd maar zal wel of iets zeer moeilijks zijn ben ik bang..

[ Voor 210% gewijzigd door Tijgertje84 op 03-11-2005 16:22 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

"maar dat werkt ook niet.." zegt niet zoveel...wat is je foutmelding? Wat is de daadwerkelijke query die uitgevoerd wordt? Werkt de query wel als je hem via een admin probeert? In welk formaat is $aanvraagdatum aangeleverd?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
uitslag is hoe dat ook = '0'
ofwel hij komt gewoon leeg uit de query
de select klopt niet ik bedoel hij selecteerd geen kolom op de manier zoals ik het nu doe..
dat werkt niet en lijkt me ook wel logisch maar hoe kan het wel :)

kijk ik kan natuurlijk wel met ifs werken en bij if termijn = 6 bla dan een query uitvoeren en dit voor elke soort termijn doen, maar dat is dus 4x zoveel code terwijl het lijkt me ook korter moet lukken...

ik ga het dan wel even de makkelijke manier doen (ook al heb ik dit zelf nog niet geprobeerd)
en dan kan ik het altijd nog aanpassen mocht het korter kunnen...

$aanvraag datum haalt hij ook uit de dbase uit een andere tabel dus zelfde type -> date

ok simpele versie:
PHP:
4
5
6
7
8
9
10
11
12
13
if($termijn == '6'){
        $query_bonus = 'SELECT sbonus6
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              AND '.$aanvraagdatum.' BETWEEN begin_datum AND eind_datum
              LIMIT 1';
    }
//plus die ander 3 mogelijkheden...
$res_bonus = mysql_query($query_bonus, $conn);
$standardbonus = mysql_result($res_bonus,0);

nu heb ik de code weggehaald dat als hij leeg is dat die bonus dan 0 is
maar nu krijg ik de melding dat hij undefined is..
dit is dus eigenlijk hetzelfde als 'leeg'..., want ik maak gebruik van aarrays maar deze werken perfect want met die
PHP:
4
5
6
if(empty($standardbonus)){
$standardbonus = '0';
}

werkt het wel maar dan komt er 0 uit..
de vraag nu dus luid waar gaat het mis.. :?

[ Voor 50% gewijzigd door Tijgertje84 op 03-11-2005 16:38 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

code:
1
AND '.$aanvraagdatum.' BETWEEN begin_datum AND eind_datum


Ik vind deze actie wel leuk. Ik weet niet zeker of je een between kan doen op 2 database velden. Dan begrijpt de sql er niet al te veel meer van. Mischien kan je gewoon een:
SQL:
1
2
AND `beginDatum` > $datum
AND `eindDatum` < $datum

[ Voor 4% gewijzigd door disjfa op 03-11-2005 16:38 ]

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Het zal BETWEEN niet boeien of ie moet werken met twee databasevelden, met constanten, of misschien met 2 apen for that matter. ;)

Die between moet gewoon kloppen. Ik vermoed alleen dat die aanvraagdatum niet als datum gezien wordt, maar als integer (2005-11-03 = 1991), en dat het daarom fout gaat. Probeer daaromheen eens juist wèl DATE() te zetten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
disjfa schreef op donderdag 03 november 2005 @ 16:37:
SQL:
1
2
AND `beginDatum` > $datum
AND `eindDatum` < $datum
dat had ik ook al maar ik krijg nog steeds de waarde 0 terug
en nu weer geprobeerd.. en geen resultaat
je gebruikt hier ``???? is dat nodig???

edit:
ok maakt eht dan uit welke manier ik gebruik:
SQL:
1
2
3
4
//1:
'...DATE('.$aanvraagdatum.')...'
//2:
'....DATE($aanvraagdatum)...'


hmm allebei getest maar beide geen resultaat.. :(

[ Voor 47% gewijzigd door Tijgertje84 op 03-11-2005 16:46 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
2
3
4
5
        $query_bonus = 'SELECT sbonus'.$termijn.'
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              AND DATE(\''.$aanvraagdatum.'\') BETWEEN begin_datum AND eind_datum
              LIMIT 1';

Zo dan?

Die backticks (`) zijn niet verplicht, maar wel netter. Die geven aan dat alles ertussenin de tabel- of veldnaam is.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
:'( nope...
zou het dan toch aan die $aanvraagdatum liggen??
maar als ik deze meteen aanroep komt er gewoon die datum uit: 2005-11-03
dit word in een andere file uit een database gehaald
het bestand waar ik nu in werk is een include in dat andere bestand maar dat moet niets uitmaken aangezien hij wel die 0 kan meegeven... |:(


edit ok ook deze werkt niet
had eerst die 1ste geprobeerd maar toen ik dit poste was de query iets anders met // maar dat mocht dus ook niet baten...

[ Voor 23% gewijzigd door Tijgertje84 op 03-11-2005 16:54 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Druk eens de precieze query die uitgevoerd wordt af. Volgens mij bevat een van die variabelen gewoon niet de waarde die jij verwacht.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
ik moet nu stoppen met werken bus halen en dan weer werken ik zal vanavond als eerste iets proberen te posten rond 21.00
met een beetje pech pas morgen ochtend... :(
loop namelijk stage en het is nu al 17.00

stay tuned ^^

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
Ok dan hier de queries voor de aparte variabelen die gebruikt worden in de query waar ik problemen mee heb.
even terzijde ik maak hier gebruik van de AJAX methode..
en dit zijn de functie bestanden waar de queries in rerunt worden

PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//$abonnr opvragen: is een int(4)
$query7 = 'SELECT abonnr FROM Abonnementen WHERE id = ' .$abonid .' LIMIT 1';
    $res7 = mysql_query($query7, $conn);
    $abonnr = mysql_result($res7,0,0);

//$aanvraagdatum opvragen: is een Date
$query9 = 'SELECT aanvraagd FROM Abonnementen WHERE id = ' .$abonid .' LIMIT 1';
    $res9 = mysql_query($query9, $conn);
    $aanvraag = mysql_result($res9,0,0);
    $aanvraagdatum = $aanvraag;
                //hierna wordt er verder wat gedaan met de $aanvraag zelf maar dat is nvt
//$termijn opvragen: is een int(2)
$query18 = 'SELECT termijn FROM Abonnementen WHERE id = ' .$abonid .' LIMIT 1';
    $res18 = mysql_query($query18, $conn);
    $termijn = mysql_result($res18,0,0);

//dan wordt er een include gebruikt
include("../functions/function_get_sbonus.php");
//in deze include staat dus de query waar dit topic over gaat.

ok ik heb ook al dit getest en dit werkt en resultaat is dan gewoon 220
PHP:
4
5
6
7
8
9
10
elseif($termijn == '12'){
    $query_bonus = 'SELECT sbonus12
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
    //zonder die between regel
              LIMIT 1';
    }

dus ik neem aan dat de fout toch in die regel zit...... :?
maar jah ik heb al zoveel mogelijke varianten geprobeerd maar het wil gewoon niet lukken.. (stom ding..)
-NMe- schreef op donderdag 03 november 2005 @ 16:54:
Druk eens de precieze query die uitgevoerd wordt af. Volgens mij bevat een van die variabelen gewoon niet de waarde die jij verwacht.
ik heb afzonderlijk getest om te waarde meteen terug te geven zonder de queries te doen en deze gegevens kloppen gewoon..
(zie post 3 van de betreffende gegevens...)

[ Voor 6% gewijzigd door Tijgertje84 op 04-11-2005 09:01 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
help :)

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Ik heb ook aardig wat met dates zitten rekenen in een aantal sites en eigenlijk nog nooit problemen er mee gehad ..

Als je 'between' periode altijd een complete maand is, kan je ook het volgende proberen:
PHP:
1
2
3
4
5
$query = "SELECT id, name, date
FROM $this->table_name
WHERE date_format(date, '%m') = 11
AND date_format(date, '%Y') = 2005
AND date >= CURDATE() ";

Hiermee selecteer ik dus alles waar het maand element van attribuut 'date' gelijk is aan 11 en het jaar element gelijk is aan 2005. Dit principe wordt denk ik wel duidelijk aan de hand van bovenstaande query.

De keren dat ik met 'BETWEEN' heb gewerkt was dat altijd met timestamps - ik weet niet of dit ook wel goed werkt met normale datums.

[ Voor 16% gewijzigd door PhoeniX- op 08-11-2005 13:22 ]


Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
ok thnx ik had het al zelf maar opgelost aangezien er niemadn reageerde
heb het nu alleen een beetje zwaar omslachtig gedaan maar het werkt wel
ik zal nog wel even kijken of jou manier werkt

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Tijgertje84 schreef op woensdag 09 november 2005 @ 10:40:
ok thnx ik had het al zelf maar opgelost aangezien er niemadn reageerde
heb het nu alleen een beetje zwaar omslachtig gedaan maar het werkt wel
ik zal nog wel even kijken of jou manier werkt
Oh, dus nu ben ik ineens niemand? ;)

Die data_format functie is even puzzelen, maar uiteindelijk werkt het bij mij heel generiek! Check bij BETWEEN even of het wel met timestamps werkt ipv. met een datum .. zou me niet verbazen dat het daarop fout ging namelijk.

Acties:
  • 0 Henk 'm!

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06 14:43
oki ik ga ff puzzelen... :)\
btw het gaat niet altijd over hele maanden soms ook van 3-nov tot 3-dec bijvoorbeeld

en niemadn had gepost binnen 4 dagen.. vandaar ;)
het lukt niet egt ik zal het wel weer verkeerd doen maarjah ben niet voor niest beginner eh :)

ik heb op een geweldige meest omslachtige manier gedaan zoals hieronder staat vermeld :)
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
    //generate datum    
    $query_datum = 'SELECT begin_datum, eind_datum
                    FROM Abonvormen 
                    WHERE abonnr = '.$abonnr .'';
    $res_datum = mysql_query($query_datum, $conn);
    $begin_datum = mysql_result($res_datum,0,0); 
    $eind_datum = mysql_result($res_datum,0,1); 
        
    $begin_datum2 = explode("-",$begin_datum);
    $begin_datum_dag = $begin_datum2[2];
    $begin_datum_maand = $begin_datum2[1];
    $begin_datum_jaar = $begin_datum2[0];
    
    $eind_datum2 = explode("-",$eind_datum);
    $eind_datum_dag = $eind_datum2[2];
    $eind_datum_maand = $eind_datum2[1];
    $eind_datum_jaar = $eind_datum2[0];
    
    $aanvraagdatum2 = explode("-",$aanvraagdatum);
    $aanvraag_datum_dag = $aanvraagdatum2[2];
    $aanvraag_datum_maand = $aanvraagdatum2[1];
    $aanvraag_datum_jaar = $aanvraagdatum2[0];

    //check aanvraagdatum met de datum waarop de bonus geldig is
    //true = met termijn de bonus ophalen
    if($aanvraag_datum_dag >= $begin_datum_dag && 
    $aanvraag_datum_dag <= $eind_datum_dag && 
    $aanvraag_datum_maand >= $begin_datum_maand && 
    $aanvraag_datum_maand <= $eind_datum_maand && 
    $aanvraag_datum_jaar >= $begin_datum_jaar && 
    $aanvraag_datum_jaar <= $eind_datum_jaar){

    if($termijn == '6'){
        $query_bonus = 'SELECT sbonus6
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              LIMIT 1';
    }
    elseif($termijn == '12'){
    $query_bonus = 'SELECT sbonus12
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              LIMIT 1';
    }
    elseif($termijn == '24'){
    $query_bonus = 'SELECT sbonus24
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              LIMIT 1';
    }
    elseif($termijn == '36'){
    $query_bonus = 'SELECT sbonus36
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              LIMIT 1';
    }

main thing is... het werkt :P

[ Voor 170% gewijzigd door Tijgertje84 op 09-11-2005 11:17 ]

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je het dan al in PHP wil oplossen, doe het dan wel goed. :P
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    //generate datum    
    $query_datum = 'SELECT begin_datum, eind_datum
                      FROM Abonvormen 
                      WHERE abonnr = '.$abonnr .'';
    $res_datum = mysql_query($query_datum, $conn);
    $begin_datum = strtotime(mysql_result($res_datum,0,0));
    $eind_datum = strtotime(mysql_result($res_datum,0,1));
    $aanvraagdatum = strtotime($aanvraagdatum);

    //check aanvraagdatum met de datum waarop de bonus geldig is
    //true = met termijn de bonus ophalen
    if ($aanvraagdatum >= $begin_datum && $aanvraagdatum <= $eind_datum) {
        $query_bonus = 'SELECT sbonus'.$termijn.'
              FROM Abonvormen 
              WHERE abonnr = '.$abonnr .'
              LIMIT 1';
    }

Maar ik blijf erbij dat het in MySQL ook gewoon moet kunnen en er waarschijnlijk gewoon een tikfoutje in je query zit ofzo. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1