webForumDet fria alternativet

Ändra lite i ett script

PHP

4 svar · 206 visningar · startad av Pudolf

Medlem sedan juli 2000221 inlägg
Frågan#1

Jag skulle behöva lite hjälp i att ändra en bit i pollscriptet "sympoll". Det som jag skulle vilja ändra är sättet som Procent-mätaren visas (bilden). Just nu vet jag inte riktigt hur den kalkuleras fram (se exempel), men jag skulle vilja ha det så att bilden är max 200 pixlar lång, sen om ett alternativ fått 20% av rösterna så ska bilden då vara 20% av 200px = 40px (hoppas jag...)

Så här ser kalkulationerna ut i orginalscriptet:

      /* do some quick math */
      $offset = 1;
      while(list($k,$v) = each($p['votes'])) {
         if($p['tvotes'] > 0)  {
            $p['votepcts'][$k] = round(($v / $p['tvotes']) * 100);
         } else {
            $p['votepcts'][$k] = 0;
         }
      }
      $highpct = max($p['votepcts']);

      /* print each result row */
      while(list($k,$v) = each($p['options'])) {
         if($s_resultnums == "0") {
            $rnum = $p['votepcts'][$k]."%"; 
         } else {
            $rnum = $p['votes'][$k]; 
         }

         /* get the image size in pixels */
         if($highpct > 0) {
            $imgsize = floor($p['votepcts'][$k] * (($s_width-42) / $highpct))
               + $offset;
         } else {
            $imgsize = $offset;
         }

Jag hoppas den där kodsnutten är allt som behövs, så det inte ligger nåt gömt som jag missat.

Tacksam för svar!

Medlem sedan okt. 20023 030 inlägg
#2

prova byta ut raden

$imgsize = floor($p['votepcts'][$k] * (($s_width-42) / $highpct)) + $offset;

mot

$imgsize = floor(($p['votepcts'][$k] / 100) * 200) + $offset;
Medlem sedan okt. 20023 030 inlägg
#3

Förresten, hur skriver den ut img-taggen? :q

Medlem sedan juli 2000221 inlägg
#4

Tack!! Funkar precis som jag ville!

Img-taggen skrivs ut såhär (om det var det du menade :))

$o.= "<img src=\"bar.gif\" width=\"$imgsize\" height=\"$s_barhite\" ";
$o.= "alt=\"$rnum\" border=\"0\" />
Medlem sedan okt. 20023 030 inlägg
#5

Behövs nog inte nu. Det fungerade ju. :)

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)