error in while? unexpected ... diversen :)
Hoi,
Ik probeer een functie te bouwen die een datum uit mijn database haalt.
Nou dacht ik dat ik dat wel onder de knie had, maar wat ik ook doe, dit apparaat blijft maar unexpected errors geven.
De code is volledig zoals die in zen-cart gebruikt wordt, dus de sql query werkt zoals die daar staat. Kan iemand me zeggen wat hier fout gaat?
Ik probeer een functie te bouwen die een datum uit mijn database haalt.
Nou dacht ik dat ik dat wel onder de knie had, maar wat ik ook doe, dit apparaat blijft maar unexpected errors geven.
De code is volledig zoals die in zen-cart gebruikt wordt, dus de sql query werkt zoals die daar staat. Kan iemand me zeggen wat hier fout gaat?
Code (php)
1
2
3
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
2
3
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
function get_boek_datum($oId){
global $db;
//de boekingsdatum bepalen op basis van de order history
//hier zit nog een fout in!
$boekdatum_raw = "select orders_status_id, date_added from " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "';
$db->Execute($boekdatum_raw);
while (!$boekdatum_raw->EOF) {
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
echo $this_status_id;
echo $this_boekdatum;
//if ($this_status_id == ''){
// continue;
//}
//if ($this_status_id == 2){
// $boek_datum = $this_boekdatum;
// $found = true;
// }
//if (($this_status_id == 3) && (!$found)){
// $boek_datum = $this_boekdatum;
// $found = true;
// }
//if (($this_status_id == 1) && (!$found)){
// $boek_datum = $this_boekdatum;
//}
$boekdatum = 1;
//$boekdatum_raw->MoveNext();
}
return $boekdatum;
}// END function get_boek_datum($oId)
echo "boekdatum= " . get_boek_datum(1112);
global $db;
//de boekingsdatum bepalen op basis van de order history
//hier zit nog een fout in!
$boekdatum_raw = "select orders_status_id, date_added from " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "';
$db->Execute($boekdatum_raw);
while (!$boekdatum_raw->EOF) {
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
echo $this_status_id;
echo $this_boekdatum;
//if ($this_status_id == ''){
// continue;
//}
//if ($this_status_id == 2){
// $boek_datum = $this_boekdatum;
// $found = true;
// }
//if (($this_status_id == 3) && (!$found)){
// $boek_datum = $this_boekdatum;
// $found = true;
// }
//if (($this_status_id == 1) && (!$found)){
// $boek_datum = $this_boekdatum;
//}
$boekdatum = 1;
//$boekdatum_raw->MoveNext();
}
return $boekdatum;
}// END function get_boek_datum($oId)
echo "boekdatum= " . get_boek_datum(1112);
ok, er is iets wel iets met die sql, want als ik die uitcomment verdwijnt de foutmelding.
Als ik de query in mysql direct doe, krijg ik drie datums met drie status id's.
ik dacht dat ik met die while door elk van de drie zou "rollen", maar kennelijk is het anders.
Moet ik nou een array maken omdat die sql 3 waarden tegelijk krijgt?
Nu ik dit zo opschrijf snap ik het geloof ik al waar het mis gaat :)
Als ik de query in mysql direct doe, krijg ik drie datums met drie status id's.
ik dacht dat ik met die while door elk van de drie zou "rollen", maar kennelijk is het anders.
Moet ik nou een array maken omdat die sql 3 waarden tegelijk krijgt?
Nu ik dit zo opschrijf snap ik het geloof ik al waar het mis gaat :)
Echo je query eens?
sorry, maar zelfs dat lukt me niet.
Hij geeft steevast iets als unexpected T_STRING in en dan 5 regels verder.
of:
precies hetzelfde
Code (php)
1
2
3
4
2
3
4
$oID = 112;
//$this_boekdatum_array = array();
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "');
echo $boekdatum_raw;
//$this_boekdatum_array = array();
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "');
echo $boekdatum_raw;
Hij geeft steevast iets als unexpected T_STRING in en dan 5 regels verder.
of:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$oID = 112;
//$this_boekdatum_array = array();
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "');
while (!$boekdatum_raw->EOF) {
echo $boekdatum_raw;
$boekdatum_raw->MoveNext();
}
//$this_boekdatum_array = array();
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "');
while (!$boekdatum_raw->EOF) {
echo $boekdatum_raw;
$boekdatum_raw->MoveNext();
}
precies hetzelfde
zo zou het moeten werken:
Code (php)
1
2
3
2
3
$boekdatum_raw = " select orders_status_id, date_added
from TABLE_ORDERS_STATUS_HISTORY
WHERE orders_id = ".$oID." ";
from TABLE_ORDERS_STATUS_HISTORY
WHERE orders_id = ".$oID." ";
Gewijzigd op 01/01/1970 01:00:00 door ruben
je eindigt je loop met een return?? dan krijg je toch standaard de laatste waarde van die variabele?
heh, die return zit daar even in een briljante poging om in ierder geval nog "iets" uit die functie te krijgen. vlak daar voor zet ik hem ook op 1, dus de functie zoals die daar staat geeft altijd 1 terug hoopte ik. (als ie het zou doen natuurlijk :))
Het lijkt toch ergens in die query te zitten op 1 of andere manier.
In mysql werkt ie gewoon goed:
Kan het niet met dat datum veld te maken hebben op 1 of ander manier?
Het kromme is namelijk, dat als ik vlak daaronder een vergelijkbare query doe, maar op een andere tabel, dat ie hem dan wel slikt???
driving me nutz
Het lijkt toch ergens in die query te zitten op 1 of andere manier.
In mysql werkt ie gewoon goed:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT orders_status_id, date_added FROM `orders_status_history` WHERE `orders_id` = '1112';
geeft:
orders_status_id date_added
1 2008-12-22 12:44:18
2 2008-12-24 19:40:48
3 2008-12-24 19:40:56
geeft:
orders_status_id date_added
1 2008-12-22 12:44:18
2 2008-12-24 19:40:48
3 2008-12-24 19:40:56
Kan het niet met dat datum veld te maken hebben op 1 of ander manier?
Het kromme is namelijk, dat als ik vlak daaronder een vergelijkbare query doe, maar op een andere tabel, dat ie hem dan wel slikt???
driving me nutz
oops, iets anders,
je mistte nog een " daar aan t eind
Code (php)
1
2
3
2
3
<?php
$boekdatum_raw = "select orders_status_id, date_added from " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'";
?>
$boekdatum_raw = "select orders_status_id, date_added from " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'";
?>
je mistte nog een " daar aan t eind
Gewijzigd op 01/01/1970 01:00:00 door koen
sjezus koen, ik kan wel janken haha,
minstens zes uur kwijt aan die quoot.
en inmiddels zoveel eruit gesloopt dat ik weer opnieuw kan beginnen :)
phew, ff doorbijten als newbie in php :)
reuze bedankt in ieder geval, ik kan weer door, klasse.
minstens zes uur kwijt aan die quoot.
en inmiddels zoveel eruit gesloopt dat ik weer opnieuw kan beginnen :)
phew, ff doorbijten als newbie in php :)
reuze bedankt in ieder geval, ik kan weer door, klasse.
jeroen, dat zal wel vaker gebeuren ;)
btw tip:
als je je script aanpast, sla dan een back-up op.
btw tip:
als je je script aanpast, sla dan een back-up op.
Gewijzigd op 01/01/1970 01:00:00 door koen
bedankt allemaal, het werkt nu. en de tip ter harte genomen :)
brengt me trouwens op nog een vraagje:
gebruiken jullie (of zijn er...) goede ontwikkelomgevingen voor php?
Ik gebruik al eclipse voor java, en zag daar ook iets voor php in staan maar kwam er nog niet helemaal uit.
Zit nu alles te knutselen in crimson editor, maar iets als eclipse met syntax checking enzo zou wel iets voor mij kunnen zijn ;)
groeten,
jeroen
brengt me trouwens op nog een vraagje:
gebruiken jullie (of zijn er...) goede ontwikkelomgevingen voor php?
Ik gebruik al eclipse voor java, en zag daar ook iets voor php in staan maar kwam er nog niet helemaal uit.
Zit nu alles te knutselen in crimson editor, maar iets als eclipse met syntax checking enzo zou wel iets voor mij kunnen zijn ;)
groeten,
jeroen
Ik loop toch nog tegen iets aan wat ik niet begrijp.
Ik hoop dat jullie me uit kunnen leggen wat ik hier over het hoofd zie.
De functie ziet er nu als volgt uit:
De SQL query geeft de volgende waarden:
Volgens mij moet ik als boek_datum de waarde bij 7 eruit krijgen omdat die als eerste "hit" in de if statement en daar de waarde voor found op true zet.
Echter: als ik in de laatste if (==1) de $found = true niet uitcomment, dan geeft ie de waarde behorende bij status_id is 1 ipv die van 7.
Dat kan toch helemaal niet?
Als de functie in de if (==7) found al op true zet, hoe kan ie dan ooit nog in de laatste if (==1) terecht komen?
bedankt,
jeroen
Ik hoop dat jullie me uit kunnen leggen wat ik hier over het hoofd zie.
De functie ziet er nu als volgt uit:
Code (php)
1
2
3
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
2
3
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
function get_boek_datum($oID){
global $db;
$found = false;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'");
while (!$boekdatum_raw->EOF) {
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if ($this_status_id == ''){
continue;
}
if ($this_status_id == 2){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 3) && (!$found)){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 7) && (!$found)){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 1) && (!$found)){
$boek_datum = $this_boekdatum;
//$found = true;
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
}// einde functie get_boek_datum
global $db;
$found = false;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'");
while (!$boekdatum_raw->EOF) {
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if ($this_status_id == ''){
continue;
}
if ($this_status_id == 2){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 3) && (!$found)){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 7) && (!$found)){
$boek_datum = $this_boekdatum;
$found = true;
}
if (($this_status_id == 1) && (!$found)){
$boek_datum = $this_boekdatum;
//$found = true;
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
}// einde functie get_boek_datum
De SQL query geeft de volgende waarden:
Volgens mij moet ik als boek_datum de waarde bij 7 eruit krijgen omdat die als eerste "hit" in de if statement en daar de waarde voor found op true zet.
Echter: als ik in de laatste if (==1) de $found = true niet uitcomment, dan geeft ie de waarde behorende bij status_id is 1 ipv die van 7.
Dat kan toch helemaal niet?
Als de functie in de if (==7) found al op true zet, hoe kan ie dan ooit nog in de laatste if (==1) terecht komen?
bedankt,
jeroen
Volgens mij geeft die functie altijd maar één (de laatst gevonden) datum return.
dat is niet de bedoeling, als er een status_id 2 is moet ie stoppen.
als er geen status_id 2 is maar wel een status_id 3 moet ie daar stoppen enzovoort.
Ik had de functie ook al geprogrammeerd met de return in de if statements zelf, (dus zonder dat $found ertussen) maar dan gedraagt ie zich hetzelfde....
Kennelijk doe ik iets fundamenteels verkeerd, maar ik weet niet wat dat is.
Kan jij me op weg helpen zodat die functie wel doet wat ik wil?
bedankt,
jeroen
als er geen status_id 2 is maar wel een status_id 3 moet ie daar stoppen enzovoort.
Ik had de functie ook al geprogrammeerd met de return in de if statements zelf, (dus zonder dat $found ertussen) maar dan gedraagt ie zich hetzelfde....
Kennelijk doe ik iets fundamenteels verkeerd, maar ik weet niet wat dat is.
Kan jij me op weg helpen zodat die functie wel doet wat ik wil?
bedankt,
jeroen
Dan is dit overbodig
$found = true;
En moet je dit gebruiken.
break;
Edit:
$found = true;
En moet je dit gebruiken.
break;
Edit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function get_boek_datum($oID)
{
global $db;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'");
while (!$boekdatum_raw->EOF)
{
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if (in_array($this_status_id, array(2, 3, 7, 1)))
{
$boek_datum = $this_boekdatum;
break;
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
} // einde functie get_boek_datum
?>
function get_boek_datum($oID)
{
global $db;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "'");
while (!$boekdatum_raw->EOF)
{
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if (in_array($this_status_id, array(2, 3, 7, 1)))
{
$boek_datum = $this_boekdatum;
break;
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
} // einde functie get_boek_datum
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Ha, de code is er zo in ieder geval al een stuk op vooruit gegaan, dit ziet er wel wat beter uit ja, maar deze werkt helaas ook niet.
Ik krijg uit deze functie nog steeds de waarde die bij 1 hoort en niet de waarde die ik wil, namelijk die van 7.
Heb de code nu exact zoals hierboven maar hij "breakt" niet!
Ik krijg uit deze functie nog steeds de waarde die bij 1 hoort en niet de waarde die ik wil, namelijk die van 7.
Heb de code nu exact zoals hierboven maar hij "breakt" niet!
Wil je eerst de hoogste?
Gebruik dan ORDER BY en zet ze op volgorde.
Gebruik dan ORDER BY en zet ze op volgorde.
Jaja, dat is een hele goeie, ik moet inderdaad order by gebruiken omdat momenteel de status_id 1 als eerste uit deze query komt, en die wil ik sowieso alleen maar als niks anders matcht.
Maar dan heb ik nog steeds een probleem, want de waarde 2 heeft de grootste voorkeur, als die bestaat wil/moet ik die hebben als datum en maken de andere waardes niet meer uit.
Als waarde 2 er niet is dan moet ik de waarde voor id 3 hebben.
Als die er niet is dan de waarde voor 7 en heb ik dan nog niks dan pas de waarde voor 1.
Maar dan heb ik nog steeds een probleem, want de waarde 2 heeft de grootste voorkeur, als die bestaat wil/moet ik die hebben als datum en maken de andere waardes niet meer uit.
Als waarde 2 er niet is dan moet ik de waarde voor id 3 hebben.
Als die er niet is dan de waarde voor 7 en heb ik dan nog niks dan pas de waarde voor 1.
dat verklaart trouwens ook waarom mijn eerste query niet goed in elkaar zat, die query kwam gewoon als eerste met die status_id 1 langs en dan was ie klaar...
Het wordt weer een leerzame middag merk ik al ;)
Het wordt weer een leerzame middag merk ik al ;)
'Gelieve:
Gewijzigd op 01/01/1970 01:00:00 door Jeroen Jeroen
Tja, dat is lastig want hij pakt nu de eerste die die tegenkomt.
Vanwaar die (on)logica?
Vanwaar die (on)logica?
De (on) logica zit hem in de acties die de orders mogelijk kunnen krijgen.
1. in behandeling
2. vandaag verzonden
3. afgeleverd
4. bijgewerkt
5. wordt verwerkt
6. geannuleerd
7. afgehaald
Waar ik de functie voor nodig heb is om de best mogelijke datum voor de boekhouding te bepalen, wat weer in een programma buiten de webinterface zit.
De best mogelijke datum om te boeken is 2. vraag me niet waarom, dat zegt het vrouwtje en die logica ga ik helemaal niet over nadenken ;)
maar ja, er zijn ook afhalers, veel minder, maar die krijgen dus nooit 2 maar 7, dan is dat de beste datum.
dan heb je ook nog foutjes (het doorschuiven van bestellingen is handmatige actie) en sowieso wil je alles wel boeken dus als 2 en 7 er niet zijn, wil je de datum van 3 als beste datum. Om dezelfde reden is er ook de datum 1 die in principe nooit getriggered zou moeten worden, maar deze zit erin omdat elke order altijd een waarde heeft op 1 (automatisch) dus als er iemand iets helemaal loopt te ver$%^& dan heeft ie in ieder geval nog een waarde
Ik heb de code nu als volgt gemaakt;
Bij status 7 & 3 geef ik geen break;
en bij status 1 komt ie alleen nog als de datum nog steeds niks heeft.
Volgens mij moet ie goed zijn zo, wel ietsje minder mooi maar ja...
Bedankt voor je hulp!
ps. geen bewuste bump, maar een refresh knop op een verkeerd moment, zag het gelijk maar je eigen post verwijderen kan niet...
edit: nog even ter aanvulling, in vrijwel alle gevallen heeft een bestelling zowel status 3 als status 2. alleen status 3 is vaak een dag of wat later als status 2. als status 2 niet de voorkeursdatum zou zijn voor de boekingen dan zou het inderdaad mooi op te lossen zijn met de waarde die hij als eerste tegenkomt, maar dat is dus niet het geval :)
1. in behandeling
2. vandaag verzonden
3. afgeleverd
4. bijgewerkt
5. wordt verwerkt
6. geannuleerd
7. afgehaald
Waar ik de functie voor nodig heb is om de best mogelijke datum voor de boekhouding te bepalen, wat weer in een programma buiten de webinterface zit.
De best mogelijke datum om te boeken is 2. vraag me niet waarom, dat zegt het vrouwtje en die logica ga ik helemaal niet over nadenken ;)
maar ja, er zijn ook afhalers, veel minder, maar die krijgen dus nooit 2 maar 7, dan is dat de beste datum.
dan heb je ook nog foutjes (het doorschuiven van bestellingen is handmatige actie) en sowieso wil je alles wel boeken dus als 2 en 7 er niet zijn, wil je de datum van 3 als beste datum. Om dezelfde reden is er ook de datum 1 die in principe nooit getriggered zou moeten worden, maar deze zit erin omdat elke order altijd een waarde heeft op 1 (automatisch) dus als er iemand iets helemaal loopt te ver$%^& dan heeft ie in ieder geval nog een waarde
Ik heb de code nu als volgt gemaakt;
Code (php)
1
2
3
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
2
3
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
function get_boek_datum($oID)
{
global $db;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "' ORDER BY orders_status_id DESC");
while (!$boekdatum_raw->EOF)
{
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if (in_array($this_status_id, array(2, 3, 7, 1)))
{
if (($this_status_id == 7) || ($this_status_id == 3))
{
$boek_datum = $this_boekdatum;
}
if ($this_status_id == 2)
{
$boek_datum = $this_boekdatum;
break;
}
if (($this_status_id == 1) && ($boek_datum == ''))
{
$boek_datum = $this_boekdatum;
break;
}
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
}// einde functie get_boek_datum
{
global $db;
//de boekingsdatum bepalen op basis van de order history
$boekdatum_raw = $db->Execute("SELECT orders_status_id, date_added FROM " . TABLE_ORDERS_STATUS_HISTORY . " WHERE orders_id = '" . $oID . "' ORDER BY orders_status_id DESC");
while (!$boekdatum_raw->EOF)
{
$this_status_id = $boekdatum_raw->fields['orders_status_id'];
$this_boekdatum = $boekdatum_raw->fields['date_added'];
if (in_array($this_status_id, array(2, 3, 7, 1)))
{
if (($this_status_id == 7) || ($this_status_id == 3))
{
$boek_datum = $this_boekdatum;
}
if ($this_status_id == 2)
{
$boek_datum = $this_boekdatum;
break;
}
if (($this_status_id == 1) && ($boek_datum == ''))
{
$boek_datum = $this_boekdatum;
break;
}
}
$boekdatum_raw->MoveNext();
}
$boek_datum = date("d-m-Y", mktime(0,0,0, substr($boek_datum, 5, 2), substr($boek_datum, 8, 2), substr($boek_datum, 0, 4)));
return $boek_datum;
}// einde functie get_boek_datum
Bij status 7 & 3 geef ik geen break;
en bij status 1 komt ie alleen nog als de datum nog steeds niks heeft.
Volgens mij moet ie goed zijn zo, wel ietsje minder mooi maar ja...
Bedankt voor je hulp!
ps. geen bewuste bump, maar een refresh knop op een verkeerd moment, zag het gelijk maar je eigen post verwijderen kan niet...
edit: nog even ter aanvulling, in vrijwel alle gevallen heeft een bestelling zowel status 3 als status 2. alleen status 3 is vaak een dag of wat later als status 2. als status 2 niet de voorkeursdatum zou zijn voor de boekingen dan zou het inderdaad mooi op te lossen zijn met de waarde die hij als eerste tegenkomt, maar dat is dus niet het geval :)
Gewijzigd op 01/01/1970 01:00:00 door Jeroen Jeroen





