login  Naam:   Wachtwoord: 
Registreer je!
 Forum

grafiek met GD

Offline Stefan14 - 08/04/2006 14:10
Avatar van Stefan14PHP gevorderde ik wil graag een lijngrafiek maken met de GD library, maar ik weet niet of dit mogelijk is, en hoe ik dit zou moeten doen? hebben jullie tutorials oid die ik zou kunnen gebruiken?

ik heb tot op heden toe alleen nog maar statusbalken en staafdiagrammen gemaakt met GD.

10 antwoorden

Gesponsorde links
Offline cowb - 08/04/2006 14:15
Avatar van cowb Lid Zo iets?
http://www.site...amp;id=888

Zoek functie kan wonderen doen!! Is een aanrader voor op je site ;)
Offline Stefan14 - 08/04/2006 14:18 (laatste wijziging 08/04/2006 14:19)
Avatar van Stefan14 PHP gevorderde ik heb ook gezocht cowb, maar alleen in de tutorials, niet in de scripts, en daar vond ik alleen gd library deel 1 en 2:s
Offline cowb - 08/04/2006 14:30
Avatar van cowb Lid Ok tis u vergeven
Offline Gerard - 08/04/2006 16:28
Avatar van Gerard Ouwe rakker vergeven? daar doen we niet aan! over de knie, hopsa!!!!
Offline cowb - 08/04/2006 16:36
Avatar van cowb Lid lol 
Offline Stefan14 - 08/04/2006 17:06 (laatste wijziging 08/04/2006 17:11)
Avatar van Stefan14 PHP gevorderde om dit topic dan toch nog een beetje nuttig te maken, ik heb nog wat probleempjes met het in een array zetten van de punten.

dit is mijn code op dit moment
  1. <?php
  2. mysql_connect("", "", "");
  3.  
  4. $userID = $_SESSION['id'];
  5.  
  6. for($i=1; $i<=31; $i++);
  7. {
  8. $maand = date("m");
  9. $dag = $i;
  10.  
  11. $query = "SELECT COUNT(1) AS aantal FROM bestellingen WHERE datum=2006-".maand."-".$dag;
  12. $result = mysql_query($query);
  13. $aantal = mysql_result($result,'aantal');
  14.  
  15. $graphValues = array_fill($i,1,$aantal);
  16. }
  17.  
  18.  
  19. $imgWidth=775; // breedte van de grafiek (komt 1 bij, best altijd met 25*x vermeerderen!)
  20. $imgHeight=500; // hoogte van de grafiek (komt 25 bij, ook best atlijd met 25*y vermeerderen!)
  21.  
  22. header("Content-type: image/png");
  23.  
  24. $image=imagecreate($imgWidth+1, $imgHeight+25);
  25.  
  26. $colorWhite = imagecolorallocate($image, 255, 255, 255); // achtergrond
  27. $colorGrey = imagecolorallocate($image, 0, 0, 0); // kleur van het rooster op de achtergrond
  28. $colorRed = imagecolorallocate($image, 255, 0, 0); // kleur van de lijn
  29.  
  30. // rand maken (buitenkant)
  31. imageline ($image, 25, 0, 25, $imgHeight, $colorGrey);
  32. imageline ($image, 25, 0, $imgWidth, 0, $colorGrey);
  33. imageline ($image, $imgWidth, 0, $imgWidth, $imgHeight, $colorGrey);
  34. imageline ($image, 25, $imgHeight, $imgWidth, $imgHeight, $colorGrey);
  35.  
  36. // kader op bg maken
  37. for ($i = 1; $i <= 25; $i++){
  38. // horizontale nummers en lijnen
  39. imageline ($image, 25, $i*25, $imgWidth+25, $i*25, $colorGrey);
  40. $max = 22; //11 + 1
  41. if ($i < $max)
  42. imagestring ($image, 10, 0, ($i*25)-30, ($max-1-$i), $colorGrey);
  43.  
  44. // verticale nummers en lijnen
  45. imageline ($image, $i*25, 0, $i*25, $imgHeight, $colorGrey);
  46. if ($i < 31)
  47. imagestring ($image, 10, ($i*25)+20, $imgHeight, $i, $colorGrey);
  48. }
  49.  
  50. for ($i = 0; $i < (count($graphValues)-1); $i++) // lijn op grafiek tekenen
  51. imageline ($image, ($i*25)+25, ($imgHeight-$graphValues[$i]), (($i+1)*25)+25, ($imgHeight-$graphValues[$i+1]), $colorRed);
  52.  
  53. imagepng ($image);
  54. imagedestroy ($image);
  55. ?>


EDIT: de regelnummers lopen goed op deze manier.

dit is de foutmelding die ik krijg
  1. <br />
  2. <b>Warning</b>: mysql_result(): supplied argument is not a valid MySQL result resource in <b>/home/stefan/domains/elektronica-onderdelen.nl/public_html/grafiek.php</b> on line <b>16</b><br />
  3. ‰PNG
  4. 
  5.  
  6. IHDR
  7. çÑ°ƒ PLTEÿÿÿÿÀɝ° UIDATxœíÁnÜ: E% Üg!ý²È^ìÿÿ•g‘šŒ[4/©U`.9Wh'íÐãœcK2ÈÈNê"’RÝý¶”¤ä–^Óh/úšõ55}|ÓŽOÿ
  8. ݽBnî$á @z]¡¤¼A^W8&¥Aº0œQH©€@JR* R”
  9. ¤T@ ¥éJâé>å‘æ>ñ¬šþ×G׳Z„
  10. F>:’{…üá^!ùïH/þüOª›ûK[B!¥)H©€@JR* R”
  11. ¤K¹³÷|¥0€!w0Bœ…5Õ
  12. î;KaT ¨@*P
  13. T ¾RÈ­îγ6iî—‘TU¨®g-´Áï=w>
  14. é’B‡ ]Q8$HWƒtE¡`.Lª›{…„BJR* R”
  15. ¤T@ ¥)H—Oï?:²*Ìù³Âä·‚÷±[õ>B,©
  16. Råª0*P
  17. T ¨@*P
  18. _(ŒUa¤×ĦªB}t=k¡±Ž¢ ~…d–¯ÀR¨@*P
  19. T ¨@…¯Ü×&-UÒ…¬­¥Ý}),¿Cì§Nÿs+þÜß²`R
  20. P7÷
  21. …”
  22. ¤T@ ¥)H©€@JR* .¥ÿÞt.þÓ>+ á,
  23. ÞÇBŒ³ IUÿ“êæþÒ–PH©€@JR* R”
  24. ¤T@ ¥éJÊãþ.’ Ï
  25. ó_
  26. óŸþG¨#ñÉÿ
  27. |òÿãêæ~yaB!¥)H©€@JR* R”
  28. ¤OxJËÞj“îþI÷‰
  29. T B…º‰÷Ç`&R* R”
  30. ¤T@ ¥)H©€@úÔ)ø_ØVua[}t=k¡ÅxT8¨ðOܯS
  31. °Z¸nî/m …”
  32.  
  33. ......en zo door
Offline ikkedikke - 09/04/2006 16:52
Avatar van ikkedikke PHP expert ... WHERE datum = '2006-".maand."-".$dag."'"
Offline Stefan14 - 10/04/2006 00:20
Avatar van Stefan14 PHP gevorderde helaas levert die aanpassing hetzelfde resultaat op.

het ligt toch echt aan het vullen van de array volgens mij, want als ik gewoon handmatig een array vul, dan doet hij het wel.
Offline XeoN - 10/04/2006 07:29
Avatar van XeoN HTML interesse Is die 'aantal' wel nodig?
Probeer die is weg te halen op regel 16..
Offline Voldemort - 10/04/2006 14:51
Avatar van Voldemort PHP ver gevorderde $aantal = mysql_result($result,'aantal');

=>

$aantal = mysql_result($result,0);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s