Avatar billede snuseren.dk Nybegynder
10. november 2003 - 16:06 Der er 12 kommentarer og
3 løsninger

Søjler i PHP

Hey!

Jeg har lige lavet et søjle program i PHP: www.snuseren.dk/Soejler/start.htm

Hvis man indtaster 2 ens tal, som fx Mandag: 10 og Tirsdag: 10, bliver de lige store. Det er osse rigtigt nok. Men hvis man indtaster 25 i den ene, og 10 i den anden, bliver søjlen med 25 højere, og hvis man indtaster 40.000, bliver den alt for høj.. Så hvordan kan jeg få søjlerne til at tilpasse sig efter hinanden, så de måske har en max højde på 500 pixels, og den mindste så tilpasser sig efter den største.. ?

Jeg håber i kan forstå det ;)

mvh. Anders
Avatar billede hamlet Nybegynder
10. november 2003 - 16:12 #1
Du skal vist have gang i noget procent beregning. :)
Avatar billede snuseren.dk Nybegynder
10. november 2003 - 16:14 #2
Jeps ;) Er der nogen der har nogle eksempler?
Avatar billede Slettet bruger
10. november 2003 - 16:16 #3
Du skal finde ud af hvilken dag der er højest.

Denne sætter du så til en højde på 500 px.

De andre dages højde udregner du så som en procenstsats af den største, og vupti...
Avatar billede Slettet bruger
10. november 2003 - 16:17 #4
Kan du ikke lige paste sourcen?
Avatar billede snuseren.dk Nybegynder
10. november 2003 - 16:18 #5
Jo da:

<?php
$mandag = $_GET['mandag'];
$tirsdag = $_GET['tirsdag'];
$log1 = log10 ($mandag) * 100;
$log2 = log10 ($tirsdag) * 100;
?>
<html>
<body>
<table border="0">
<tr>
<td valign="bottom">
<img src="soejle.gif" width="50" height="<?php echo $log1 ?>"><br>
Mandag
</td>
<td valign="bottom">
<img src="soejle.gif" width="50" height="<?php echo $log2; ?>"><br>
Tirsdag
</td>
</tr>
</table>
Avatar billede hamlet Nybegynder
10. november 2003 - 16:19 #6
Hvis nu vi siger at et tal er over 500 så dividerer vi tallet med 500 og resultatet er så et forholdstal vi dividere det andet tal med.

40000/500 = 80

20000/80 = 250

d.v.s.

40000 = 500 pixels

20000 = 250 pixels

Håber du forstår  :)
Avatar billede hono Nybegynder
10. november 2003 - 16:20 #7
Du kan vel bare bestemme hvor højt 100% skal være. Ud fra det kan du så afgøre hvor stor en del af de 100% der skal placeres på mandag og hvor mange på tirsdag
Avatar billede hamlet Nybegynder
10. november 2003 - 16:20 #8
Ja, sådan kan man jo også gøre.  ;P
Avatar billede Slettet bruger
10. november 2003 - 16:20 #9
Prøv at se dette eksempel:

<?
$mandag = 50;
$tirsdag = 200;
$tirsdag_hoejde = 500; //Hvis den højeste skal være 500 pixel
$procent = $tirsdag_hoejde * ($mandag / $tirsdag);
echo "mandag skal være " . $procent . "px";
?>
Avatar billede jakoba Nybegynder
10. november 2003 - 16:20 #10
sy skalerer dine tal ned så de passer i den plads du har sat af til søjlerne:

$tal_nr_et = 25;
$tal_nr_to = 14000;

$max_hojde = 500;

$skalerings_faktor = $max_hojde / max( $tal_nr_et, $tal_nr_to );

$vist_tal_et = round( $skalerings_faktor * $tal_nr_et );
$vist_tal_to = round( $skalerings_faktor * $tal_nr_to );

// og dine søjler får så højden $vist_tal_et og $vist_tal_to

mvh JakobA
Avatar billede snuseren.dk Nybegynder
10. november 2003 - 16:36 #11
Tak!!

Kan jakoba, el_barto, og hamlet ikke lige ligge et svar??

Jeg brugte jakoba's metode, men alle svarene var jo rigtigt..

mvh. Anders
Avatar billede jakoba Nybegynder
10. november 2003 - 16:42 #12
ok.
Avatar billede Slettet bruger
10. november 2003 - 18:10 #13
så skidt da ;)
Avatar billede snuseren.dk Nybegynder
10. november 2003 - 18:35 #14
ok giver lige hamlet en chance..
Avatar billede hamlet Nybegynder
10. november 2003 - 21:56 #15
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester