Toon posts:

Grafiek dynamisch maken (GD Libary, PHP)

Pagina: 1
Acties:
  • 844 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

Ik ben sinds kort bezig met php en met de GD Libary. Nou kan ik doormiddel van data uit me MYSQL database er leuke grafieken van maken. de zogenaamde staaf grafieken (Bars).

Ik heb 4 Bars in me grafiek werkend met elk verschillende waardes die uit de database komen.

Nou wil ik met behulp van checkboxes (4 stuks) de bars aan en uit kunnen zetten. Dit moet dan direct weergegeven worden op het scherm dus niet door middel van een knop die de boel refreshed.

Ik werk met PHP,MYSQL,GD Libary

Mijn vermoeden is dat ik met behulp van een javascript moet gaan werken. Nou heb ik daar niet zo veel verstand van maar misschien kan iemand mij hiermee helpen. _/-\o_

Groeten,

Almighty

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-02 00:22

Janoz

Moderator Devschuur®

!litemod

OM het plaatje aan te passen zul je inderdaad een nieuw plaatje moeten ophalen van de server. Je zult dus op 1 of andere manier een request moeten doen. Als je niet de hele pagina wilt verversen dan zul je inderdaad mbv javascript enkel het plaatje moeten vernieuwen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ja idd nou zit ik nog te denken wat ik het beste kan doen een if je maken op basis van die checkboxes

zoals :

if (checkbox1=checked){
$abplot = new AccBarPlot(array($bplot1));
}
if (checkbox2=checked){
$abplot = new AccBarPlot(array($bplot2));
}

etc...

of de query veranderen op basis van de checkboxes

SELECT * FROM TABEL

Ik weet even niet meer wat en wat ik moet doen 8)7 8)7

wat het makkelijkst is

Help :|

Verwijderd

Je zorgt dat je php script dmv een id een grafiek genereerd. Als je het type image ervan maakt kan je dit gebruiken als [img]"genchart.php?id=1"[/img]). Je kan dus ook dmv javascript en het Image object deze plaatje preloaden en laten zien....

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Dit lijkt me inderdaad een javascript dingetje, dus ik move deze thread even naar Webdesign, Markup & Clientside Scripting :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Topicstarter
Hee DotHack ik weet niet precies wat je bedoeld kan je een duidelijkere voorbeeld geven?
Ik kan inderdaad de grafiek als een .png toevoegen in me html..
zoals [img]"genchart.php"[/img]

Dit werkt verder goed.

Nou wil ik dus doormiddel van checkboxes delen van de grafiek laten zien en weg laten zoals de verschillende stafen ( bars ) in de grafiek

:)

Wat je precies bedoeld met dat id begrijp ik niet helemaal. Elke Bar heeft in mijn database wel een eigen ID maar dat bedoel je zeker niet?

Bedankt

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-02 00:22

Janoz

Moderator Devschuur®

!litemod

Als je ipv genchart.php eens genchart.php?checkboxA=true&checkboxB=false gebruikt kun je deze in je php script uitlezen uit de $_GET array. De src van de img tag aanpassen doe je dmv javascript.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
Voor grafieken is SVG ook best interessant om naar te kijken. Vereist wel een moderne browser, of een viewer (van adobe bijv.) als plugin, dat zijn wel weer behoorlijke nadelen, dus dat moet je zeker ook in je overweging meenemen.

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
Ik ga maar eens bekijken wat ik het beste kan doen.. De manier van Janoz lijkt me wel wat. Ik weet nog niet precies wat ik moet doen maar komen volgens mij in de richting.

Met welke steekwoorden kan ik zoeken voor deze oplossing (hoe heet deze manier)


Als je ipv genchart.php eens genchart.php?checkboxA=true&checkboxB=false gebruikt kun je deze in je php script uitlezen uit de $_GET array. De src van de img tag aanpassen doe je dmv javascript.

Ook andere oplossingen zijn welkom...

Verwijderd

ben zelf op dit moment bezig met een xhtml (tables) naar svg (grafiek) transformatie via xsl met gd als terugvalmogelijkheid (als geen svg ondersteund wordt)

hier ben ik alleen nog niet echt mee klaar, maar als je interesse hebt, msn dan ff

Verwijderd

Als je de bars in aparte images zet kom je denk ik een heel eind met CSS (display) en een javascript wat draait als je checkbox aan/uit gaat.

Verwijderd

Topicstarter
Het lukt me nog steeds niet.. Ik weet ook even niet waar ik moet beginnen en of ik wel wat heb aan de $_GET array..


iemand help?

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

kan je niet gewoon alle bars inladen met php en dan gewoon bepaalde delen op display: hidden zetten in css, javascriptje aan je checkbox en klaar... misschien niet de schoonste oplossing, maar werkt wel en hij hoeft nooit nieuwe informatie op te halen...

www.timovanderzanden.nl | Beer 'n' Tea


Verwijderd

Vooruit dan maar:

code:
1
2
3
4
5
6
7
8
9
[img]"chart.php?id=1"[/img]
[img]"chart.php?id=2"[/img]
[img]"chart.php?id=3"[/img]
[img]"chart.php?id=4"[/img]

<input type="checkbox" checked="checked" name=1"  onChange="toggleChart(this.name)" />
<input type="checkbox" checked="checked" name=2"  onChange="toggleChart(this.name)" />
<input type="checkbox" checked="checked" name="3" onChange="toggleChart(this.name)" />
<input type="checkbox" checked="checked" name="4" onChange="toggleChart(this.name)" />


Met de functie toggleChart() zet je vervolgens display op hidden of visible ofzo.

Verwijderd

Topicstarter
Fijn dat jullie mee willen helpen aan een oplossing....

Ik heb het nu zo dat ik elke checkbox een waarde mee geef. Op basis van deze waarde bepaal ik wat ik wel en wat ik niet wil zien. Deze waarde word doorgestuurd naar de php pagina waar de grafiek wordt gemaakt. De image word dan na een button click ( wat dus niet de bedoeling is maar wat dus nog geautomatiseerd moet worden) geladen in de html pagina met alleen de bars wat ik wil zien.

Ik denk dat ik ik bij me checkboxes iets moet hebben van onlick="functie( )"

Het stukje code om me grafiek in te laden op de html pagina is

[img]"test8.php?id=1"/[/img]

Wat voor script moet nou zorgen dat mij image gerefreshed word.. :/

[ Voor 6% gewijzigd door Verwijderd op 11-04-2006 10:24 ]


Verwijderd

Topicstarter
<input id="cha" value="1" type="checkbox" name="checkboxa" checked onChange="javascript:document.getElementById('graphic').src='test8.php?cha='document.getElementById('cha').value;">

Het werkt nog niet kom er even niet meer uit..
test8.php moet een waarde mee krijgen die onder een checkbox hangt daarna moet de test8.php automatisch weer geladen worden

iemand ?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
HTML:
1
2
3
4
5
6
<input id="cha"
  value="1"
  type="checkbox"
  name="checkboxa"
  checked
  onChange="document.getElementById('graphic').src='test8.php?cha='+document.getElementById('cha').value;">

Zoek de verschillen :P

[ Voor 51% gewijzigd door Michali op 11-04-2006 11:42 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
AHH heb het nou helemaal werkend zou als ik het wel thz guy's :) for the support
Pagina: 1