Autor Zpráva
simona
Profil
jsem začátečník a vůbec si nevím rady. Mám za úkol řádkové grafy.

Vytvořte jednoduchý skript, který získá data ze vstupu GET a zobrazí je ve formě řádkových grafů.
Příchozí data jsou ve formě Popis:Hodnota;Popis:Hodnota;...
Příklad dat:Škoda:23;BMW:4;Fiat:45
Skript vypíše vždy název dat a pod něj nakreslí řádek délky odpovídající počtu kusů. Tento počet se bude přepočítávat tak, aby největší hodnota v celém souboru měla v grafu délku 800px a ostatní položky se vůči ní úměrně zkracovaly.
Jan Tvrdík
Profil
simona:
S čím konkrétně si nevíš rady? Data převedeš pomocí explode na pole. V tom poli najdeš největší hodnotu. Pak projdeš to pole znovu a budeš ho postupně vykreslovat s tím, že délku přepočítáš pomocí trojčlenky. Vykreslovat ho buď můžeš jako obrázek pomocí GD knihovny nebo pomocí CSS.
Sir Tom
Profil
$input = "A:80;B:90;C:40;D:20;E:30";

$data = explode(";", $input); //pole $data obsahuje jednotlivé prvky ve formě Popis:Hodnota

$names = array(); //sem uložíme názvy
$values = array(); //sem uložíme hodnoty

foreach($data as $d){
 $a = explode(":", $d);
 $names[] = $a[0];
 $values[] = $a[1];
}

$max = max($values); //uložíme si největší hodnotu

//nyní začíná už výpis
for($i=0; $i<count($values); $i++){
 echo $names[$i];
 echo "<hr style='width: ".(($values[$i]/$max)*800)."px' />";
}
Someone
Profil
Sir Tom:
19. řádek: $values[$i]


pozdě.
simona
Profil
Děkuju moc :)


pořád mi nejde tam dát ten graf...
Jan Tvrdík
Profil
simona:
pořád mi nejde tam dát ten graf.
Asi to máš rozbité.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: