Ik ben bezig om voor mezelf een classe te schrijven om gegevens uit een database te halen aan de hand van een aantal korte statements. Dit gaat tot nu toe aardig, de gegevens worden eruit gehaald, alleen het verwerken van deze gegevens gaat niet goed.
Het gedeelte wat de gegevens binnenhaald. In regel 7 gaat het naar het verwerkingsproces toe
Het verwerkingsproces
Het vervelende is dat de code maar 1 keer door de IF statements wordt gebruikt. Als resultaat van echo $soort krijg ik:
- text
- text
- date
Alleen ik krijg maar 1 keer test uit mijn php. Voor $soort gebruik ik overigens een array die ik eerder heb aangemaakt. De gegeven worden overigens wel braaf uit de database gehaald.
Hoe krijg ik het voor elkaar dat deze meerdere keren wordt bekeken door de IF-statements? Het lijkt mij namelijk dat deze bij elke keer dat de functie wordt aangeroepen het gewoon gevolgd moet worden.
(er is overigens geen verschil of ik bij de tweede keer ELSEIF of IF gebruik)
Het gedeelte wat de gegevens binnenhaald. In regel 7 gaat het naar het verwerkingsproces toe
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| //Het aanmaken van de query + omzetten naar arrays $query = "SELECT $rijen FROM $tabellen WHERE $voorwaarde LIMIT 1"; $result = mysql_query($query); $num_rows = mysql_num_rows($result); $naam = explode(",", $naam); $rijen = explode(",", $rijen); $soort = explode(",", $soort); $aantal = count($rijen); //Het uiteindelijke maken van het overzicht echo "<TABLE class=\"tabel\" border=1>"; for($a = 0; $a < $num_rows; $a++){ $rij = mysql_fetch_array($result); for($b = 0; $b < $aantal; $b++){ $waarde = $this->verwerken_gegevens($rij[$b], $soort[$b]); echo "<TR><TD>".$naam[$b]."<TD>".$waarde; } } echo "</TABLE>"; echo $query; |
Het verwerkingsproces
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| //Het verwerken van de gegevens uit de database function verwerken_gegevens($waarde, $soort){ echo $soort; if ($soort == "text"){ echo "test"; } ELSEIF ($soort == "date"){ echo "datum"; $waarde = $this->datum($waarde); } return $waarde; } |
Het vervelende is dat de code maar 1 keer door de IF statements wordt gebruikt. Als resultaat van echo $soort krijg ik:
- text
- text
- date
Alleen ik krijg maar 1 keer test uit mijn php. Voor $soort gebruik ik overigens een array die ik eerder heb aangemaakt. De gegeven worden overigens wel braaf uit de database gehaald.
Hoe krijg ik het voor elkaar dat deze meerdere keren wordt bekeken door de IF-statements? Het lijkt mij namelijk dat deze bij elke keer dat de functie wordt aangeroepen het gewoon gevolgd moet worden.
(er is overigens geen verschil of ik bij de tweede keer ELSEIF of IF gebruik)
[ Voor 14% gewijzigd door Rainmaker1987 op 17-02-2007 17:56 . Reden: aanvulling van gegevens ]