Fehler beim simplen if befehl

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Tarquinio
Mitglied
Beiträge: 26
Registriert: 25.02.2003 14:54
Kontaktdaten:

Fehler beim simplen if befehl

Beitrag 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?
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag 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 ;-).
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag 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
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag 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;

?>
Benutzeravatar
King Crusty
Mitglied
Beiträge: 209
Registriert: 20.04.2002 11:58
Wohnort: Deggendorf - Altötting
Kontaktdaten:

Beitrag 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;
?>
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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">';
Antworten

Zurück zu „Coding & Technik“