Fehler in Vote Funktion

RageNo1

Erfahrenes Mitglied
Hallo
in folgendem Script ist ein Fehler in dieser Zeile:
PHP:
case <=  0: return "0"; break;

Hier die Funktion:
PHP:
    function return_topflop($id) {
    global $newstable;
    $vote = $dbconn->fetchArray("SELECT top,flop FROM $newstable WHERE id = $result[id]");

    if($votegesamt<=0){$gerundet=round((($vote[top]*100)/($vote[top]+$vote[flop])));}

    switch($gerundet) {
       case <=  0: return "0"; break;
       case <= 20: return "1"; break;
       case <= 40: return "2"; break;
       case <= 60: return "3"; break;
       case <= 80: return "4"; break;
       default : return "5"; break;
    }
}

Ausgegeben wird das ganze so:
PHP:
echo "<img src=\"".return_topflop($_GET["id"])."\" border=\"0\">\n";

Ich hoffe jemand kann mir sagen wo das Problem in der besagten Zeile ist.

Mfg Ragey
 
So wie es aussieht kannst Du keine solchen Vergleiche in dieser Weise anstellen.

Du koenntest entweder sowas machen:
PHP:
switch(true)
{
       case ($gerundet <=  0): return "0"; break;
       case ($gerundet <= 20): return "1"; break;
       case ($gerundet <= 40): return "2"; break;
       case ($gerundet <= 60): return "3"; break;
       case ($gerundet <= 80): return "4"; break;
       default : return "5"; break;
}
oder sowas
PHP:
if ($gerundet <= 0)
{
 return 0;
}
elseif ($gerundet <= 20)
{
 return 1;
}
elseif ($gerundet <= 40)
{
 return 2;
}
elseif ($gerundet <= 60)
{
 return 3;
}
elseif ($gerundet <= 80)
{
 return 4;
}
else
{
 return 5;
}
 
Danke mit dem ersteren scheint er was anfangen zu
können nur kommt nun wie meist die nächste Meldung:
Code:
Fatal error: Call to a member function on a non-object in /home...

Es handelt sich dabei um die untere Zeile:
PHP:
    global $newstable;
    $vote = $dbconn->fetchArray("SELECT top,flop FROM $newstable WHERE id = $id");

Greets Ragey
 
So nun habe ich die Abfrage umgestellt und es kommt Folgende Meldung:
Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home...

Abfrage:
PHP:
    $query = mysql_query("SELECT top,flop FROM $newstable WHERE id = $result[id]");
    $vote = mysql_fetch_array($query);

Fehler 2:
Code:
Warning: Division by zero in /home...

Hier:
PHP:
if($votegesamt<=0){$gerundet=round((($vote[top]*100)/($vote[top]+$vote[flop])));}

Mfg Ragey
 
Ich denke schon,
Also das Problem ist folgendes:
Ich habe ein Votingscript gebastelt was auf läuft.
Allerdings in einer Seperaten Datei voting.php und
die muss aufgerufen werden mit voting.php?id=664
damit das Script weiss welche Zeile in der Tabelle.

Nun zum Problem ich bin kein Experte auf dem Gebiet
und versuche nunmehr seit 3 Tagen den Mist in das
Bestehende Newsscript zum bekommen aber es
Funktioniert vorne und hinten nicht.

Nun hatte ich es zuletzt mit der Funktion versucht.

Mfg Ragey
 
Zurück