Hallo Achim.
Problem: Abfrage mit simplexml in Schleife:
foreach ($xml->daten as $daten) {
if ($daten->wert1 == 2 || $daten->wert1 == 3 || $daten->wert1 == 4){
echo $daten->wert2;
}
}Die If-Bedingung $daten->wert1 == 2 ist dynamisch und wechselt bei jeder Anfrage je nach übergebenen Variablen.
Inwiefern wechselt sie? Zu was? Wie sieht $xml aus? (print_r())
Die Werte der if-Bedingung (im Beispiel 1,2,3) wechseln und werden an die Seite via post übergeben. ($_POST["qstring"] ist z.B. '2,3,4').
Beim nächsten Aufruf wäre es z.B. 3,5 und die if-Anweisung müßte so aussehen:
if ($daten->wert1 == 3 || $daten->wert1 == 5)
Ich möchte nun die if-Anweisung in der Schleife dynamisch machen:
probier gerade rum:
Dein Ansatz ist schon einmal nicht schlecht. Hier einmal weiter ausgearbeitet:
if (isset($_POST['qstring'])) {
$arr_query = explode(',', $_POST['qstring']);
foreach ($xml->daten as $daten) {
if ([link:http://de.php.net/manual/function.in-array.php@title=in_array]($daten->wert1, $arr_query)) {
echo $daten->wert2;
}
}
}
$postvar = $_POST["qstring"]; //liefert 2,3,4
$array = explode(",", $postvar);
$ifstring = "";
foreach ($array as $id) {
if ($id!= ""){
$ifstring =$ifstring."|| $poi->symid == ".$poiid;
}Aber das geht ja nicht weil $poi->symid erst in der Schleife geschrieben wird...??
Was auch immer du damit meinst …
Einen schönen Mittwoch noch.
Gruß, Mathias
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules