login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mysql Class Array Foreach vreemd gedrag

Offline urqbz - 16/08/2010 13:35 (laatste wijziging 16/08/2010 13:44)
Avatar van urqbzPHP interesse Beste mensen,

Ik ben een mysql classe aan het schrijven, voor het snel en goed maken van queries, met diverse functies voor verwerking erin. Ik ben inmiddels zover dat ik simpele queries met eenledige (ik weet niet of ik dat goed zeg) WHERE clauses kan maken (SELECT * FROM `users` WHERE `id` = 12). Ik ben nu bezig met zeg maar de meerledige WHERE clauses en daar loopp ik vast (SELECT * FROM `events` WHERE `active` != 0 && inschrijfdatum >= 31-03-2030).

Dit is het hele script: Plaatscode: 139846 en het stukje dat zich vreemd gedraagt is dit:
(regel 148)

Merk op dat die prints allemaal zijn om te testen...

  1. elseif ($c = preg_match_all("/.*?(&&)/is", $this->select_under_which_condition, $m))
  2. {
  3. $andexploder = explode ("&&", $this->select_under_which_condition);
  4. $operators_split = explode(" ",$this->determine_operators());
  5. foreach ($operators_split as $key => $o)
  6. // this is to remove the empty entries for non used items
  7. {
  8. if (empty($o))
  9. {
  10. unset($operators_split[$key]);
  11. }
  12. else
  13. {
  14. $keys .= $key.",";
  15. }
  16. }
  17.  
  18. $key_exploder = explode(",", $keys);
  19. print "ANDS:".count($andexploder);
  20. $i=0;
  21. foreach($andexploder as $ands)
  22. {
  23. $i++;
  24. print "<br>".$i;
  25. foreach ($key_exploder as $key)
  26. {
  27. if (!empty($operators[$key]))
  28. {
  29. $fieldandvalue = explode($operators[$key], $ands);
  30. print "<p>"."f:".$fieldandvalue[0]."<br/>".$fieldandvalue[1]."</p>";
  31. }
  32. }
  33. }
  34. }


Hier wordt het object voor de klasse gemaakt (ander bestand dan die op plaatscode):

  1. $events = new query("*", "events", "active != 0 && openeduntill >= ".date("Y-m-d"));
  2. $events -> make_query();


De verwachtte output is:
Citaat:
ANDS:2
1

f:active
0

2

f: openeduntill
2010-08-16


Maar ik krijg dit:
Citaat:
ANDS:2
1

f:active
0

f:active != 0

2

f: openeduntill >= 2010-08-16

f: openeduntill
2010-08-16


Heeft iemand enig idee wat het probleem is? Wat ik over het hoofd zie?

Bij voorbaat dank,
Urqbz

P.s. Ik zal deze klass, als het af is posten, voor vrij gebruik.

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.178s