
103528
25.09.2012, aktualisiert um 19:39:02 Uhr
Aus XML ausgelsene Zahl nicht in IF-Abfrage vergleichbar
Morgen miteinander,
ich erstelle mit mehreren PHP Dateien eine HTML Datei für die Sportseite unseres Vereins.
Dafür werden XML Dateien der jeweiligen Mannschaft ausglesen.
die XML Datei sieht beispielsweise wie folgt aus:
und die PHP If-Else Abfrage wie folgt:
Erklärung:
Erste If-Ebene frägt ab welche Art von Rundenwettkampf es ist.
Da wir Mannschaften haben in deren Ligen das Gesamtergebniss gewertet wird und eine in der
die Gesamtpunktzahl wertet.
0-> bedeutet Gesamtergebniss und 1 -> Punkte
Die zweite if-Ebene wertet aus welches Ergebniss besser is je nach dem die Punkte oder die erzielten Ringe (ist ein Schützenverein).
$hm und $gm stehen für Heimmarkierung und Gastmarkierung.
-> Wird in der HTML Datei verwendet für eine Markierung des Gewinners und des Verlieres.
---
Das Problem:
Es findet keine Formatierung statt.
Ich habe es bereits getestet.
Alle 14 durchrechnetet XML Einträge landen im Else-Bereich.
---
Erkennt jemand das Problem?
Ich bin da inzwischen leicht verwirrt, da ich aber schulisch auch aktuell kaum Zeit habe
stundenlang nach dem Problem zu suchen, zumal ich bereits einige Stunden investiert habe.
Daher hoffe ich mal hier findet sich der ein oder andere kluge Kopf
dem auffällt wo ich wieder einen dummen Fehler produziert habe.
In einer Alten Version hat es schließlich noch funkioniert.
Nur das es damals aus einer CSV datei ausgelesen wurde.
würde mich freuen
mfg Flo
ich erstelle mit mehreren PHP Dateien eine HTML Datei für die Sportseite unseres Vereins.
Dafür werden XML Dateien der jeweiligen Mannschaft ausglesen.
die XML Datei sieht beispielsweise wie folgt aus:
<?xml version="1.0" encoding="UTF-8" ?>
<daten>
<runde>
<nummer>1</nummer>
<datum>10. November 2011</datum>
<heim>Neufarn-Parsdorf 1</heim>
<gast>Edlw. Kirchseeon 1</gast>
<frei>0</frei>
<absolviert>1</absolviert>
<ergh>1509</ergh>
<ergg>1500</ergg>
<vermerk>Start der Hinrunde</vermerk>
</runde>
und die PHP If-Else Abfrage wie folgt:
$xml = simplexml_load_file($conf['xml']);
$i = $conf['runden_gesamt'];
while($i >= 0){
$rnd = $i - 1;
$ergh = $xml->runde[$rnd]->ergh;
$ergg = $xml->runde[$rnd]->ergg;
$punkte_h = $xml->runde[$rnd]->punkte_h;
$punkte_g = $xml->runde[$rnd]->punkte_g;
If($conf['modus'] == 0){
if($ergh > $ergg){
$hm = "g";
$gm = "v";
}elseif($ergh < $ergg){
$hm = "v";
$gm = "g";
}else{
$hm = "g";
$gm = "";
}
}elseif($conf['modus'] == 1){
if($punkte_h > $punkte_g){
$hm = "g";
$gm = "v";
}elseif($punkte_h < $punkte_g){
$hm = "v";
$gm = "g";
}else{
$hm = "";
$gm = "";
}
}
Erklärung:
Erste If-Ebene frägt ab welche Art von Rundenwettkampf es ist.
Da wir Mannschaften haben in deren Ligen das Gesamtergebniss gewertet wird und eine in der
die Gesamtpunktzahl wertet.
0-> bedeutet Gesamtergebniss und 1 -> Punkte
Die zweite if-Ebene wertet aus welches Ergebniss besser is je nach dem die Punkte oder die erzielten Ringe (ist ein Schützenverein).
$hm und $gm stehen für Heimmarkierung und Gastmarkierung.
-> Wird in der HTML Datei verwendet für eine Markierung des Gewinners und des Verlieres.
---
Das Problem:
Es findet keine Formatierung statt.
Ich habe es bereits getestet.
Alle 14 durchrechnetet XML Einträge landen im Else-Bereich.
---
Erkennt jemand das Problem?
Ich bin da inzwischen leicht verwirrt, da ich aber schulisch auch aktuell kaum Zeit habe
stundenlang nach dem Problem zu suchen, zumal ich bereits einige Stunden investiert habe.
Daher hoffe ich mal hier findet sich der ein oder andere kluge Kopf
dem auffällt wo ich wieder einen dummen Fehler produziert habe.
In einer Alten Version hat es schließlich noch funkioniert.
Nur das es damals aus einer CSV datei ausgelesen wurde.
würde mich freuen
mfg Flo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 191814
Url: https://administrator.de/forum/aus-xml-ausgelsene-zahl-nicht-in-if-abfrage-vergleichbar-191814.html
Ausgedruckt am: 12.04.2025 um 17:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
versuche es mal so
Dementsprechend beim elseif.
EDIT: Du meintest glaube ich die anderen Abfragen.
Versucht die Variablen zu konvertieren?
versuche es mal so
If($conf['modus'] == "0")
Dementsprechend beim elseif.
EDIT: Du meintest glaube ich die anderen Abfragen.
Versucht die Variablen zu konvertieren?
$ergh = (int)$xml->runde[$rnd]->ergh;
$ergg = (int)$xml->runde[$rnd]->ergg;
$punkte_h = (int)$xml->runde[$rnd]->punkte_h;
$punkte_g = (int)$xml->runde[$rnd]->punkte_g;