21. januar 2003 - 19:36Der er
17 kommentarer og 1 løsning
Regne gemensnittet ud?
Hej Jeg har lavet en lille vote fra 1-5 (det er i et tagwall) men hvordan gør jeg så den regner gemensnittet ud og skriver det på siden?
<?PHP $limit=intval($limit); // Sørger for at limit kun kan være tal if(!$limit) $limit=15; // Hvis limit var tom eller ikke var et tal, sætter vi den til 15 $foresp = mysql_query("SELECT navn, mail, dato, besked, vote FROM tagwall ORDER BY nr DESC LIMIT $limit") or die ("Fejl X: ".mysql_error()); while($row = mysql_fetch_array($foresp)) { $stjerner=''; // Her tæller vi op til og med antallet af stemmer for($i=0;$i<$row['vote'];$i++) { $stjerner.='<IMG src="stjerne_on.gif">'; } $i++; // Her udfylder vi resten af pladserne, til og med 5 for($i=$i;$i<=5;$i++) { $stjerner.='<IMG src="stjerne_off.gif">'; } $msg = $row["besked"]; echo '<table border="0" width="744" style="border: 1px solid #000000;" align="center" cellspacing="0" cellpadding="0">'; echo '<tr><td bgcolor="#80BCFF" style="border-bottom: 1px solid #000000;"><div style="float:left;">'.$stjerner.'</div><div style="float:right;"><a href="mailto:'.$row['mail'].'">'.$row['navn'].'</a>|'.$row['dato'].'</div>'; echo "</td></tr><tr><td colspan='2' bgcolor='#B9E1FD'>"; echo nl2br($msg); echo "</td></tr>"; echo '</table><br>'; } ?>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Men noget ala dette burde virke: $foresp = mysql_query("SELECT vote FROM tagwall"); $vote_antal = mysql_num_rows($foresp); $antal = 0; while ($row = mysql_fetch_array($foresp)) { $antal = $antal + $row[antal]; }
mpj_86 >> hvis du sætter dig ind i din kode og forstår den godt nok til at indsætte det selv er en hel masse viden din :-)) (fx med hjælp fra hyppige opslag i http://dk.php.net/manual/en/ )
I stedet for at lave komplicerede udregninger af gennemsnittet, synes jeg at det er lidt lettere at bruge php's egen gennemsnitsmekanisme. Denne funktion viser gennemsnittet med en decimal:
$beta = mysql_query("SELECT AVG(karakter) AS grade FROM table ORDER BY nr DESC LIMIT $limit") or die(mysql_error()); list($grade) = mysql_fetch_row($beta); $grade = round($grade, 1);
Denne funktion skal indsættes inden i din while-løkke. echo "$grade";
Btw jakoba - hvis du alligevel gemmer to varible, hvorfor så ikke bare gemme antal stemt og total sum af votes - så kan man bare lægge til de to og dividere? :D
Og jeg må give de andre ret, mpj - læs manualen, et par tutorials, etc og lær at forstå din kode...det hjælper ;)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.