Hallo,
wie der Titel schon sagt, habe ich eine Frage zu Explode und einer foreach-Anweisung.
In meiner Spiel-Datenbank sind bei jedem Medikament verschiedene Anwendungsgebiete angegeben, der Spaltentyp ist SET und da kann man ja schön am "," trennen. Klappt auch so weit ganz gut, aber wenn mehrere Anwendungsgebiete vorhanden sind, klappt es nicht mehr so schön.
Sagen wir mal, das Tier hat eine Bindehautentzündung.
Das Medikament #1 hat als Anwendungsgebiet: Bindehautentzündung,Hornhautverletzung,Bissverletzung.
Das Medikament #2 hat als Anwendungsgebiet:
Schnupfen,Lungenentzündung
Ist ja nun klar, dass der Gesundheitszustand des Tieres nicht besser wird, wenn man Medikament #2 nimmt, aber bei Medikament #1 kann er besser werden. Ja, nur macht das Script das nicht, weil ja die Krankheit ungleich Hornhautverletzung und ungleich Bissverletzung ist. Wie muss ich die Anweisung korrekt formulieren?
Ich schätze mal, dass überschreibt einfach die Variable immer wieder, für jeden Durchgang, aber wie stoppe ich es? exit(); beendet ja das ganze Script.
Aus der Datenbank werden mittels SELECT ausgelesen, nicht, dass sich wer wundert: $medi["gesundheitspunkte"], $medi["anwendungsgebiet"], $tier["krankheit"].
Hat jemand eine Idee?
LG,
Cara
wie der Titel schon sagt, habe ich eine Frage zu Explode und einer foreach-Anweisung.
In meiner Spiel-Datenbank sind bei jedem Medikament verschiedene Anwendungsgebiete angegeben, der Spaltentyp ist SET und da kann man ja schön am "," trennen. Klappt auch so weit ganz gut, aber wenn mehrere Anwendungsgebiete vorhanden sind, klappt es nicht mehr so schön.
Sagen wir mal, das Tier hat eine Bindehautentzündung.
Das Medikament #1 hat als Anwendungsgebiet: Bindehautentzündung,Hornhautverletzung,Bissverletzung.
Das Medikament #2 hat als Anwendungsgebiet:
Schnupfen,Lungenentzündung
Ist ja nun klar, dass der Gesundheitszustand des Tieres nicht besser wird, wenn man Medikament #2 nimmt, aber bei Medikament #1 kann er besser werden. Ja, nur macht das Script das nicht, weil ja die Krankheit ungleich Hornhautverletzung und ungleich Bissverletzung ist. Wie muss ich die Anweisung korrekt formulieren?
PHP:
//Schaue, ob das richtige Medikament gewählt wurde
$gebiet = $medi["anwendungsgebiet"];
$anwendungsgebiet = explode(",", $gebiet);
foreach($anwendungsgebiet as $anwendung)
{
if($anwendung !== $tier["krankheit"])
{
$medi["gesundheitspunkte"] = "0";
}
else
{
//+Gesundheitspunkte aus der DB nicht überschreiben
}
}
Aus der Datenbank werden mittels SELECT ausgelesen, nicht, dass sich wer wundert: $medi["gesundheitspunkte"], $medi["anwendungsgebiet"], $tier["krankheit"].
Hat jemand eine Idee?
LG,
Cara