Autor | Zpráva | ||
---|---|---|---|
SpotRudloff Profil |
#1 · Zasláno: 24. 4. 2011, 18:23:00 · Upravil/a: SpotRudloff
Dobrý den,
potřeboval bych takovou malou radu. Vytvořil jsem si anketu, která plně funguje, jenže nevím, jak udělat čáru, jakoby graf, která srovnává všechny odpovědi v anketě. Použil jsem trojčlenku, všechno fungovalo, jenže mi něják nejde od hlavy, jak to udělat, aby to nemělo šířku větší, než jakou bych chtěl. Toto je skript, jenž vypisuje anketu: <?php require_once "db.php"; $select = $mysqli->query("SELECT * FROM poll"); if(!$select) die($mysqli->error); while($data = $select->fetch_assoc()) { echo $data['question'] ."<br /><br />"; $select = $mysqli->query("SELECT * FROM poll_votes WHERE poll_id = ". $_GET['poll_id']); if(!$select) die($mysqli->error); while($data = $select->fetch_assoc()) { echo "<a href='vote.php?poll_id=". $data['poll_id'] ."&answer=". $data['id'] ."'>". $data['answer'] ."</a>"; if($select->num_rows > 0) { $width = ceil(100 * $data['count']) / $select->num_rows; //$width = 100 - $width; //echo $select->num_rows; } else $width = 1; //echo " ". $data['count']; echo "<div style='width:". $width ."px;border:Blue 1px Solid;'></div>"; echo "<br />"; } } ?> Děkuji předem za radu. |
||
David1256 Profil |
#2 · Zasláno: 24. 4. 2011, 18:33:18
jak to udělat, aby to nemělo šířku větší, než jakou bych chtěl
Počet hlasů jedné odpovědi / počet hlasů všech odpovědí * maximální šířka(šířka, kterou bys chtěl). |
||
Louka Profil |
#3 · Zasláno: 24. 4. 2011, 18:34:49 · Upravil/a: Louka
já bych si určil poměr mezi jednotlivými odpověďmi a pak bych vzal max šířku a vydělil to:
edit, takto: width = 1 / (poměr_pro_odpoved / max_width) |
||
SpotRudloff Profil |
#4 · Zasláno: 24. 4. 2011, 19:17:41
Louka:
Jak myslíš ten poměr? |
||
Joker Profil |
#5 · Zasláno: 24. 4. 2011, 21:27:42
SpotRudloff:
„Jak myslíš ten poměr?“ Aby ten vzorec fungoval, musela by to být převrácená hodnota poměru hlasů pro danou odpověď (tj. počet všech hlasů / počet hlasů pro danou odpověď), ale asi se do toho Louka zamotal, správně je vzorec co píše David1256 |
||
panther Profil |
#6 · Zasláno: 24. 4. 2011, 21:38:40
SpotRudloff:
případně pak je ještě druhá možnost, kdy 100% šířky bude mít odpověď, která má nejvíce hlasů (místo celkového počtu hlasů) a ostatní se budou počítat v poměru k ní. Výsledek by pak mohl vypadat podobně jako ve Statistikách zde na diskusi. |
||
SpotRudloff Profil |
#7 · Zasláno: 24. 4. 2011, 22:23:07
panther:
Ano, ano. To je to co jsem chtěl. Jenže nevím jak na to. Dnes mi to už asi myslet nebude... |
||
panther Profil |
#8 · Zasláno: 24. 4. 2011, 22:23:53
SpotRudloff:
vzorec máš výše, jen místo celkového počtu příspěvku bude ten, který má hlasů nejvíce (bude brán jako základ). |
||
SpotRudloff Profil |
#9 · Zasláno: 24. 4. 2011, 22:27:52 · Upravil/a: SpotRudloff
Tak děkuju za radu. Zkusím to sesmolit a řeknu Vám, jestli to půjde.
// EDIT: Tak se mi to nakonec povedlo, opravdu jsem jen potřeboval proměnnou, která obsahovala nejvyšší číslo. To jsem zíkal pomocí $select = $mysqli->query("SELECT max(`count`) as cnt FROM poll_votes"); Všm Vám moc děkuji, hlavně Pantherovi a Davidu1256. |
||
Časová prodleva: 13 let
|
0