Problem mit Schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Schleife

    Hallo Leute

    Ich bastle seit Tagen an einem Bewertungssystem für einen Partykalender.
    Funktionierte alles bestens bis jetzt als ich das ganze in die Schleife für die Datenbankabfrage eingehängt hab.

    Hier erst mal der Code:
    PHP-Code:
            while ($zeile mysql_fetch_object ($ergebnis)) {
            
      
    //Datum umwandeln Beginn
            
    $dat=split("-",$zeile->datum);
            
    $datum=$dat[2].".".$dat[1].".".$dat[0];
      
    //Datum umwandeln Ende
      
      //Uhrzeit definieren Beginn
            
    $uhr=split(":",$zeile->uhrzeit);
            
    $uhrzeit=$uhr[0].":".$uhr[1];
      
    //Uhrzeit definieren Ende
      
      // WERTUNG AUSLESEN BEGINN
    $bewertung "bewertung.txt"// Bewertungen, chmod 777
    $id $zeile->ID;
    $bewertung_arr file($bewertung);
    $bewertung_anz count($bewertung_arr);
        for(
    $i=0$i<$bewertung_anz$i++){
            
    $bewertung_ex explode ("|",$bewertung_arr[$i]);
            if(
    $id == $bewertung_ex[0]){
            
    $schnitt round($bewertung_ex[1] / $bewertung_ex[2],2);
            }
            }

    if(
    $schnitt <= "0.25"){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/00_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "0.25") && ($schnitt <= "0.75")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/05_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "0.75") && ($schnitt <= "1.25")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/10_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "1.25") && ($schnitt <= "1.75")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/15_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "1.75") && ($schnitt <= "2.25")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/20_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "2.25") && ($schnitt <= "2.75")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/25_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "2.75") && ($schnitt <= "3.25")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/30_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "3.25") && ($schnitt <= "3.75")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/35_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "3.75") && ($schnitt <= "4.25")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/40_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif((
    $schnitt "4.25") && ($schnitt <= "4.75")){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/45_stern.gif" width="61" height="14" border="0" /></a>';
        }
    elseif(
    $schnitt "4.75"){
        
    $ausgabe '<a href="javascript:PopupFenster('.$id.')"><img src="../gif/50_stern.gif" width="61" height="14" border="0" /></a>';
        }

    // WERTUNG AUSLESEN ENDE
      

      // HTML-Tabelle Beginn
          
    echo('<table class="term_tab" align="center" cellpadding="2" cellspacing="3"> ');
            echo(
    "<tr>");
            echo(
    '<td class="hg_grau" width="4%" align="center"><span class="size12">'.$zeile->tag.'</span></td>');
            echo(
    '<td class="hg_grau" width="10%" align="center"><span class="size12">'.$datum.'</span></td>');
            echo(
    '<td class="hg_grau" width="6%" align="center">');
                 if(
    $zeile->uhrzeit==0000)
                     echo(
    '<span class="inhaltsize12">&nbsp;</span>');
                     else
                     echo(
    '<span class="inhaltsize12">'.$uhrzeit.'</span>');
            echo(
    "</td>");
            echo(
    '<td class="hg_grau" width="37%"><span class="inhaltsize12">'.$zeile->veranstaltung.'</span></td>');
            echo(
    '<td class="hg_grau" width="25%"><span class="inhaltsize12">'.$zeile->ort.'   ('.$zeile->lk.')</span></td>');
            echo(
    '<td class="hg_grau" width="9%" align="center"><span class="inhaltsize12">'.$zeile->eintritt.' €</span></td>');
            echo(
    '<td class="hg_grau" width="9%" align="center">');
                 if(
    $zeile->hp==NULL)
                     echo(
    '<span class="inhaltsize12">&nbsp;</span>');
                     else
                     echo(
    '<a class="size11" href="'.$zeile->hp.'" target="_blank">Homepage</a>');
            echo(
    "</td>");
            echo(
    "</tr>");
            echo(
    "<tr>");
            echo(
    '<td class="hg_hellgrau" width="14%" colspan="2" align="center">');
    // Ausgabe Link und Bild mit Wertung
            
    if(isset($schnitt)){
                echo 
    $ausgabe;
                }
                else{
                echo 
    '<a href="javascript:PopupFenster('.$id.')">keine Wertung</a>';
                }
            echo(
    "</td>"); 
    Des Problem is des das ich zwar die Richtige ID im Link augegeben bekomm
    aber eben des falsche Bild (d.h. er berechnet den Durschnitt falsch).
    Ich denk es liegt irgendwo an der for() Schleife in kombination mit der while Schleife,.
    Bin noch relativer Neuling und weiß jetz nicht mehr weiter.
    Vielleicht hat jemand ne Idee wie man des Problem beseitigen kann.
    Oder einen anderen Lösungsweg.

    Danke
    MfG Christian

  • #2
    bist du dir sicher das $schnitt ein integer enthält?
    warum integer mit einem string vergleichen?
    typenkonvertierung hin oder her - besser ist: $schnitt < 0.25

    p.s. nimm mal die leerzeichen raus zwischen java und script.

    Kommentar


    • #3
      Original geschrieben von penizillin
      p.s. nimm mal die leerzeichen raus zwischen java und script.
      das macht das forum so.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar

      Lädt...
      X