Seite 1 von 1

Fehler beim simplen if befehl

Verfasst: 28.03.2003 16:34
von Tarquinio
Also, ich hab folgendes geschrieben:

Code: Alles auswählen

if ($user_points >= 0 && $user_points < 9)
{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern0.gif">';
}
	
else if ($user_points >= 10 && $user_points < 29)
{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern1.gif">';
}

else if ($user_points >= 30 && $user_points < 49)
{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern2.gif">';
}
	
else if ($user_points >= 50 && $user_points < 69)
	{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern3.gif">';
}

else if ($user_points >= 70 && $user_points < 98)
{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern4.gif">';
}

else if ($user_points > 100)
{
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern5.gif">';
}
Am ende wird dann noch die Variable $pointsgif ausgegeben.
Gut, dann hab ichs laufen lassen und egal wie groß der inhalt der Varieablen $user_points ist, es wird stetig nur forlgendes bild ausgegeben:

Code: Alles auswählen

<img src="http://11f-online.gu2.info/artefakt/stern0.gif">
Kann mir da jemand mal helfen?

Verfasst: 28.03.2003 16:53
von jasc
Ich würde mal die ganzen else streichen und überall nur if verwenden. Vielleicht hilft das ja, kannst es jedenfalls mal probieren, dürfte nicht zu aufwendig sein ;-).

Verfasst: 28.03.2003 16:53
von Mister_X
also ich hab den Code gerade mal bei mir ausprobiert, funktioniert eigentlich ganz gut aber ich würde alle "else" weglöschen und die if bedingungen vereinfachen
einfach von klein nach groß:
if ($lala >= 0)
{bild0}
if ($lala >=5)
{bild1}
if ($lala >=10)
{bild2}
usw.

wenn jetzt jemand 7 Punkte hat trifft für ihn die ersten und zweite Bedingung zu und er hat bild1

Verfasst: 28.03.2003 16:56
von codemonkey
Also ich weiß nicht, was ihr habt. Bei mir funktioniert alles perfekt, egal was ich für $user_points angebe :roll:

Code: Alles auswählen

<?php

$user_points = 110;

if ($user_points >= 0 && $user_points < 9) 
{ 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern0.gif">'; 
} 
    
else if ($user_points >= 10 && $user_points < 29) 
{ 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern1.gif">'; 
} 

else if ($user_points >= 30 && $user_points < 49) 
{ 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern2.gif">'; 
} 
    
else if ($user_points >= 50 && $user_points < 69) 
   { 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern3.gif">'; 
} 

else if ($user_points >= 70 && $user_points < 98) 
{ 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern4.gif">'; 
} 

else if ($user_points > 100) 
{ 
$pointsgif = '<img src="http://11f-online.gu2.info/artefakt/stern5.gif">'; 
} 


echo $pointsgif;

?>

Verfasst: 28.03.2003 16:58
von King Crusty
Dein Code hat bei mit geklappt, aber das ist mir spontan dazu eingefallen...

Code: Alles auswählen

<?php 
$punkte = 16;
$aktiv;
$bild[bis9] = "<img src=\"http://11f-online.gu2.info/artefakt/stern0.gif\">";
$bild[bis29] = '<img src="http://11f-online.gu2.info/artefakt/stern1.gif">';


if ($punkte > 0 && $punkte < 9){
$aktiv = $bild[bis9];
}

else if ($punkte >= 10 && $punkte < 29){
$aktiv = $bild[bis29];
}

echo $aktiv;
?>

Verfasst: 28.03.2003 18:37
von Pyramide
wo wir gerade beim vereinfachen sind:

Code: Alles auswählen

if($user_points<9) $bild=0;
else if($user_points<29) $bild=1;
else if($user_points<49) $bild=2;
else if($user_points<69) $bild=3;
else if($user_points<98) $bild=4;
else $bild=4;

$pointsgif='<img src="http://11f-online.gu2.info/artefakt/stern' . $bild . ' .gif">';