Ränge

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ränge

    Hallo,

    ich habe ein System aufgebaut, wo User andere User bewerten.
    Die punkte z.B. 20 werden in der Database gespeichert

    Dann habe ich sowas gemacht:

    www.klamm-designer.de/rank.php?id=1
    www.klamm-designer.de/rank.php?id=2
    www.klamm-designer.de/rank.php?id=4

    Aber er gibt immer die id und nicht den platz den er berechnen sollte aus
    (Wenn er downloadn will im borwser eingeben)

    So nun mein Problem:

    Ich will das er aus den Punkten die in der Database stehen den Platz ermittelt.

    Ich bekomme das einfach nicht hin weil er ja nur für die bestimmte id den platz ausgeben soll ans bild

    Hier mal der Quellcode was ich bis jetzt versucht habe (im $string2 müsste der Platz dann ausgegeben werden)

    Der Code:

    PHP Code:
    <?php 
    header
    ('Content-type: image/png'); 
     
    $sqlhost "localhost";
    $sqluser "xxx";
    $sqlpass "xxxx";
    $database "xxxx";
     
    $test mysql_connect($sqlhost,$sqluser,$sqlpass) or die ('Es konnte keine Verbindung mit der Database hergestellt werden!'); 
    mysql_select_db($database); 
     
    // Ab hier 
    $user mysql_query("SELECT * FROM user_data WHERE id='".$_GET['id']."'") or die (mysql_error()); 
    $data mysql_fetch_assoc($user); 
     

    $qry mysql_query("SELECT * FROM user_data") or die (mysql_error()); 
     
             while(
    $row mysql_fetch_assoc($qry)) 

             
    $count[] = $row['voted']; 
             
    $use[] = $row['bname']; 
             
    $id_s[] = $row['id']; 

     
    rsort($count); 
    $l 1
     
    for(
    $i=0;$i<count($use);$i++) 

             if(
    $id_s[$i]==$_GET['id'])$string2[$_GET['id']] = $l
         
    $l++; 

     
    $string $data['bname']; 
    $string2 $string2[$_GET['id']]; 
    // Bis hier 
     
    $im imagecreatefrompng('sig.png'); 
    $orange imagecolorallocate($im129135142); 
     

    if(
    strlen($string)==16$px = (imagesx($im)-11.1*strlen($string)); 
    elseif(
    strlen($string)==15$px = (imagesx($im)-11.8*strlen($string)); 
    elseif(
    strlen($string)==14$px = (imagesx($im)-12*strlen($string)); 
    elseif(
    strlen($string)==13$px = (imagesx($im)-13*strlen($string)); 
    elseif(
    strlen($string)==12$px = (imagesx($im)-14*strlen($string)); 
    elseif(
    strlen($string)==11$px = (imagesx($im)-15*strlen($string)); 
    elseif(
    strlen($string)==10$px = (imagesx($im)-17*strlen($string)); 
    elseif(
    strlen($string)==9$px = (imagesx($im)-18*strlen($string)); 
    elseif(
    strlen($string)==8$px = (imagesx($im)-20*strlen($string)); 
    elseif(
    strlen($string)>=6$px = (imagesx($im)-22*strlen($string))/2
    elseif(
    strlen($string)>=4$px = (imagesx($im)-22*strlen($string))/'2.8'
    else 
    $px = (imagesx($im)-22*strlen($string))/'3.2'
     
    if(
    strlen($string2)==1$px2 = (imagesx($im)- -70*strlen($string2))/2
    elseif(
    strlen($string2)==2$px2 = (imagesx($im)- -30*strlen($string2))/2
    elseif(
    strlen($string2)==3$px2 = (imagesx($im)- -20*strlen($string2))/2
    else 
    $px2 = (imagesx($im) - -30 strlen($string2)) / 2
     
    imagestring($im3$px23$string$orange); 
    imagestring($im3$px223$string2$orange); 
    imagepng($im); 
    imagedestroy($im); 
    ?>
    Könntet ihr mir weiter helfen ? Wäre euch sehr dankbar


    Mit freundlichen Grüßen
    Sven Ambros
    Last edited by MasterRed; 03-12-2003, 12:40.

  • #2
    Das hier löst dein Problem nicht, aber du solltest hier:
    PHP Code:
    elseif(strlen($string)>=4$px = (imagesx($im)-22*strlen($string))/2.8
    else 
    $px = (imagesx($im)-22*strlen($string))/3.2
    keine Strings zur Division benutzen.
    Gerechnet wird immer mit Zahlen.
    it's not a bug,
    it's a feature!

    Comment


    • #3
      thx Aber kann mir denn keiner helfen ?

      Comment


      • #4
        wo zählst du denn die punkte?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Comment


        • #5
          Ich habe die in einer datenbank drin

          Ich habe oben mal nen Kommentar eingefügt mit welchem Code ich das ausdrücken wollte ^^^
          Last edited by MasterRed; 03-12-2003, 12:41.

          Comment


          • #6
            Wollte nur sagen, dass ich das Problem gelöst habe x)

            Also wenn einer den code will, kann ich ihn ruhig posten

            Comment


            • #7
              und da hast du jetzt über ein halbes Jahr für gebraucht?

              Comment

              Working...
              X