/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
er det muligt at lave en graf?
Fra : Mette Frederiksen


Dato : 27-05-02 20:59

Hejsa!

Er det muligt at lave en graf hvis man har en form hvor man indtaster vægt.
Kan man så med php lave en graf hvor xakse = vægt og y-akse = dato... Altså
sådan at php automatisk viser henter oplysningerne fra mysql når man har
indtastet dem?

Mvh Mette

ps.. er det muligt at lave en form hvor man kun kan indstate sin vægt en
gang om ugen?

--
--
OBS OBS! hjemmeside ejer!!!! vil du være sød at lave et linkt til dette
forum??
http://www.fonager.dk/forum/forum.asp?master_id=6105



 
 
Jonas Koch Bentzen (27-05-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-05-02 20:58

Mette Frederiksen skrev:
>
> Er det muligt at lave en graf hvis man har en form hvor man indtaster
> vægt. Kan man så med php lave en graf hvor xakse = vægt og y-akse =
> dato... Altså sådan at php automatisk viser henter oplysningerne fra
> mysql når man har indtastet dem?

Med GD-modulet til PHP (http://dk.php.net/manual/en/ref.image.php)
skulle det nok være muligt. Det er dog ikke begynderstof.

--
Jonas Koch Bentzen

Thomas Lindgaard (28-05-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 28-05-02 00:56

Jonas Koch Bentzen <ingen.email@eksempel.dk> wrote in news:acu34e$hl3$2
@sunsite.dk:

> Med GD-modulet til PHP (http://dk.php.net/manual/en/ref.image.php)
> skulle det nok være muligt. Det er dog ikke begynderstof.

Ellers kan du lege lidt med at lave et søjlediagram ved at placere en række
giffer ved siden af hinanden og så strække dem i højden - men det kræver
nok en snedig lille tabel :)

Mvh
/Thomas

Henrik Stidsen (27-05-2002)
Kommentar
Fra : Henrik Stidsen


Dato : 27-05-02 23:06

"Mette Frederiksen" <rollike@frederiksen.mail.dk> wrote in
news:acu2aj$fn9$1@sunsite.dk

> ps.. er det muligt at lave en form hvor man kun kan indstate sin
> vægt en gang om ugen?

Du checker bare dato for sidste indtastning når brugeren sender den
nye data, hvis den gamle ikke er mindst en uge gammel udskriver du en
fejl

--
Henrik Stidsen | HS235-DK | Ikke eksisterende samleobjekt
http://min.hjemmeside.er.paa.http.kolon.2-x-skraastreg.susie.dk/
"These opinions are my own, though for a small fee they
be yours too." -- Dave Haynie

Mette Frederiksen (28-05-2002)
Kommentar
Fra : Mette Frederiksen


Dato : 28-05-02 05:09


>
> Du checker bare dato for sidste indtastning når brugeren sender den
> nye data, hvis den gamle ikke er mindst en uge gammel udskriver du en
> fejl

Hvad så hvis personen vælger at indtaste sin vægt om fredagen uge 21 og om
mandagen uge 22?
Mvh Mette



Andreas Kleist Svend~ (28-05-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 28-05-02 08:04

Mette Frederiksen wrote:

> Hvad så hvis personen vælger at indtaste sin vægt om fredagen uge 21 og om
> mandagen uge 22?

Så checker du på ugenummeret i stedet. MySQL-funktionen for ugenummer
hedder WEEK(), og hvis du vil have mandag til at være første dag i ugen
skal du bruge WEEK(navnpådatofelt, 1) . Det andet argument er startdagen
for ugen, hvor dag 0 er søndag etc.

Så for at checke om der er registreret en vægt tidligere den uge bruger du
noget i stil med:

"SELECT * FROM tabelnavn WHERE WEEK(datofelt, 1) = WEEK('$dato',1)"

Det er et stykke tid siden jeg sidst har lavet noget MySQL, og jeg har ikke
testet det, så der er risiko for fejl, men ideen skulle i hvert fald være
god nok.

--
mvh Andreas Kleist Svendsen

Jesper Brunholm (28-05-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 28-05-02 15:57

Mette Frederiksen wrote:
>>Du checker bare dato for sidste indtastning når brugeren sender den
>>nye data, hvis den gamle ikke er mindst en uge gammel udskriver du en
>>fejl

> Hvad så hvis personen vælger at indtaste sin vægt om fredagen uge 21
og om
> mandagen uge 22?

så skal du - som Andreas Kleist har skrevet - bruge ugenumre - han
foreslog at du brugte mysqls system til det - jeg vil til enhver tid
foretrække at lægge et timestamp i databasen (som varchar ell lign hvor
mysql ikke på eget initiativ laver om på det) og så bruge phps date()
til at checke at man er nået ind i en ny uge...

hvad grafen angår så vil jeg også foreslå at du laver en tabel hvori du
lægger en gif som du skalerer

noget a la

select vaegt from brugere where id=$id


echo '<table><tr>';
while(#der er flere data){
echo '<td> uge '.$ugenummer.' : <img src="fxblaa.gif" width="2"
height="'.$vaegt.'"></td>';
}
echo '</tr>'

fxblaa.gif behøver bare være 1x1 pixel, den virker bedst hvis den er
helt ensfarvet (så man ikke strækker den på tværs af farvegrænser)

du bliver nok nødt til at sætte en grænse for antallet af optegnede uger
i samme tabel, men det kan blive ret højt da hver celle er ret smal...
alternativt kan du lave ny tr for hver xx... (det er der en opskrift på
oppe i tråden om billedgalleri - jeg bruger modulo til det...) Hvis du
ikke vil ha at kurven skal være farvet fra bund til toppunkt så kan du
lægge en gennemsigtig gif som den skalerbare og en 1px gif ovenpå...

Jeg håber at du kan bruge og gennemskue det - ellers må du skrive
tilbage *S*

mvh

Jesper B.

--
IT-Vest Odense: <http://www.it-vest.sdu.dk/cim/>


-Martin- (28-05-2002)
Kommentar
Fra : -Martin-


Dato : 28-05-02 20:06

>foretrække at lægge et timestamp i databasen (som varchar ell lign hvor
>mysql ikke på eget initiativ laver om på det) og så bruge phps date()

Øhm .. DATETIME i mysql bliver ikke lavet om, det er kun det FØRSTE
TIMESTAMP felt i mysql som bliver automatisk opdateret ved UPDATE! men
hvis du har 4-5 felter med TIMESTAMP er det som sagt KUN det første
der opdatere sig selv.

Jacob Bunk Nielsen (28-05-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 28-05-02 16:27

Jesper Brunholm <nospam@brunholm-scharff.dk> writes:

> hvad grafen angår så vil jeg også foreslå at du laver en tabel hvori du
> lægger en gif som du skalerer

Det er i hvert fald nok klart den letteste løsning.

Umiddelbart er det dog ikke den jeg ville bruge til at lave grafer
med. Umiddelbart har jeg i et eller andet omfang brugt følgende
metoder, som alle kan være interessante her (nogle kræver mulighed for
at installere programmer på serveren):

- GD:
Her tegner man selv grafen helt fra grunden, men kan så få den
til at se ud præcis som man ønsker. Det kræver at man holder
tungen lige i munden ind imellem. Rent PHP-teknisk er det
rimelig overskueligt, men algoritmisk er det måske nok ikke helt
på begynderstadiet, slet ikke, hvis man skal skalere akserne
efter de værdier der skal plottes.
GD er vist standard på temmelig mange webservere efterhånden.

- RRDtool:
Da der i dette tilfælde er tale om at man opdaterer en værdi med
et mere eller mindre fast tidsrum, så kan man også bruge
RRDtool. Det giver rimelig stor valgfrihed til få graferne til
at se ud som man ønsker.
Ulempen er at det kræver at man sætter sig ind i RRDtool, og
samtidig kræver det også at man kender lidt til den server man
bruger det på. RRDtool er næppe som standard installeret på ret
mange webservere.

- GNUplot:
GNUplot er nok heller ikke standard på ret mange webservere, men
bør absolut være med i ens overvejelser, hvis man har mulighed
for det. Det er relativt let at bruge. Det foregår dog ved nogle
systemkald, og ikke fra et PHP-API, men der er jo ikke noget i
vejen for at man lige selv kan lave en indpakning i PHP. Med
GNUplot vil man nok relativt hurtigt kunne lave en løsning der
ser pæn ud.
Folk der har set GNUplot-grafer ved at de ser ud på en helt
karakteristisk måde, og man har ikke voldsomt meget at skulle
have sagt i forhold til udseendet af grafen.


Jeg har selv tidligere lavet grafer med GD, og bruger RRDtool på et
par sider med noget båndbreddemåling og sådan noget. Jeg har aldrig
brugt GNUplot i forbindelse med webting, men har brugt det til andre
ikke webrelaterede ting, hvor jeg må sige at det fungerer rigtig
godt.

--
Jacob - www.bunk.cc
Your fault -- core dumped

Lars Petersen (28-05-2002)
Kommentar
Fra : Lars Petersen


Dato : 28-05-02 22:19

Kig forøvrigt på den ultimative graf-klasse:

http://www.aditus.nu/jpgraph/

:) lars


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy - A Free Half Life
Manager!
To mail me remove your-pants.



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste