Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Bewertungsabfrage If, If-Schleife
pwehrmann
Geschrieben am: Mi 27.02.2008, 20:14
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 45
Mitglied seit: 19.08.2006


Hallo, ich hab eine Bewertungsanzeige, welche die Punktzahl ausliest und ein entsprechendes Bild anzeigt:

CODE

if ($linkratingsummary == 1.0) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 1.5) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 2.0) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 2.5) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 3.0) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 3.5) {
echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
}
if ($linkratingsummary == 4.0) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 4.5) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 5.0) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 5.5) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 6.0) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 6.5) {
echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
}
if ($linkratingsummary == 7.0) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 7.5) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 8.0) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 8.5) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 9.0) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 9.5) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
}
if ($linkratingsummary == 10.0) {
echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br></center>";
}


Ich hab leider null Ahnung von PHP, bin schon stolz das ich das hinbekommen hab nach Tagen.
Weiss jemand wie ich das eleganter verpacke? Es sollte auch nicht nach 1, 1.5, 2, 2.5-Schritten gehen, da auch eine Bewertung von Bsp. 1,7 rauskommen kann. In dem Falle wird natürlich wieder gar kein Bild angezeigt.


--------------------
Top
PMEmail Poster
Top
 
 
TSc
#2 Geschrieben am: Mi 27.02.2008, 20:23 (+00:09)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 708
Mitglied seit: 8.11.2004


QUOTE


if ($linkratingsummary < 4.0)
  {
    echo "<img src=\"modules/$module_name/ratings/bad-webspace.jpg\"><br>";
  }
else
  {
  if ($linkratingsummary < 7.0)
    {
      echo "<img src=\"modules/$module_name/ratings/middle-webspace.jpg\"><br>";
    }
  else
    {
      echo "<img src=\"modules/$module_name/ratings/top-webspace.jpg\"><br>";
    }
  }



So wird zuerst geprüft ob die Variable kleiner als vier ist.
Ist dem so wird das schlechte Bild angezeigt.
Ist dem nicht so wird geprüft ob die Variable kleiner als sieben ist. Ist dem so muss sie ja grösser als vier und kleiner als sieben sein, daher wird das mittlere Bild angezeigt.
Trifft beides nicht zu muss der Wert ja über sieben liegen und das gute Bild wird angezeigt.
smile.gif
Top
PMEmail Poster
Top
 
pwehrmann
#3 Geschrieben am: Mi 27.02.2008, 20:35 (+00:11)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 45
Mitglied seit: 19.08.2006


Dankeschön, klappt wunderbar. Jetzt weiss ich auch wie man das verschachtelt.
Hab das immer irgendwie mit elseif versucht...


--------------------
Top
PMEmail Poster
Top
 
Maik
power-labels AG
#4 Geschrieben am: Mi 27.02.2008, 20:49 (+00:13)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 485
Mitglied seit: 16.03.2006


CODE

echo '<img src="modules/' . $module_name . '/ratings/'
  . (  ($linkratingsummary<4) ? 'bad' : ( ($linkratingsummary<7) ? 'middle' : 'top')  )
  . '-webspace.jpg"><br>';


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
pwehrmann
#5 Geschrieben am: Mi 27.02.2008, 20:59 (+00:10)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 45
Mitglied seit: 19.08.2006


Hm, die Codes klappen zwar, nur taucht jetzt das Problem auf, das wenn noch keine Bewertung abgegeben wurde, auch das schlechte Bild auftaucht. Am besten wär es natürlich wenn dann stattdessen "Noch unbewertet" stehen würde. Sonst denken die Anwender gleich "Oh der ist schlecht. Ginge das?

Hier sehr gut zu sehen...


--------------------
Top
PMEmail Poster
Top
 
Maik
power-labels AG
#6 Geschrieben am: Mi 27.02.2008, 22:43 (+01:43)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 485
Mitglied seit: 16.03.2006


CODE
if (!empty($linkratingsummary))
  echo '<img src="modules/' . $module_name . '/ratings/'
  . (  ($linkratingsummary<4) ? 'bad' : ( ($linkratingsummary<7) ? 'middle' : 'top')  )
  . '-webspace.jpg"><br>';


aber nur für den Fall dass "keine Bewertung" bedeutet das $linkratingsummary leer,nicht gesetzt oder 0 ist...


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
pwehrmann
#7 Geschrieben am: Mi 27.02.2008, 22:56 (+00:13)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 45
Mitglied seit: 19.08.2006


Maik, sorry, das klappt bei mir gar nicht, nutze auch PHPNuke, vielleicht liegts daran. Kannst du nicht den oberen Code entsprechend modifizieren. Der klappt nämlich...

Wär dir dankbar


--------------------
Top
PMEmail Poster
Top
 
Maik
power-labels AG
#8 Geschrieben am: Mi 27.02.2008, 23:10 (+00:13)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 485
Mitglied seit: 16.03.2006


hab's nicht getestet, aber da war ein Punkt zuviel... hab's geändert, so müsste es gehen.


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
pwehrmann
#9 Geschrieben am: Do 28.02.2008, 00:21 (+01:10)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 45
Mitglied seit: 19.08.2006


Ja, jetzt funktioniert dein Code, aber ist dasselbe Ergebnis wie mein alter.
Ich bräuchte das so, das wenn noch keine Bewertung abgegeben wurde, also die Variable auf 0 oder/und 0.0 ist, ein Text ausgegeben wird, der den Inhalt "Noch nicht bewertet" hat.

Aber sonst klappt dein Code genauso gut wie die obrigen, hab ich sogar nen paar Bytes mit gespart. Könntest du das auch noch so hinbiegen wie ich das bräuchte? Wär echt verdammt cool....

Also so, das statt dem schlechtestem Bild einfach die Anzeige "Noch nicht bewertet" angezeigt wird. Oben kannst du dir ja den Link zur besagten Seite angucken. Kann dir auch noch mehr Code schicken wenn du ihn brauchst....


--------------------
Top
PMEmail Poster
Top
 
Maik
power-labels AG
#10 Geschrieben am: Do 28.02.2008, 08:52 (+08:31)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 485
Mitglied seit: 16.03.2006


CODE
if (!empty($linkratingsummary))
 echo '<img src="modules/' . $module_name . '/ratings/'
 . (  ($linkratingsummary<4) ? 'bad' : ( ($linkratingsummary<7) ? 'middle' : 'top')  )
 . '-webspace.jpg"><br>';
else
 echo 'Noch nicht bewertet';


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/23182

Topic Options Reply to this topicStart new topicStart Poll

 





Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]