Dat is wat ik ook wil doen... Met $_GET ophalen.quote:Op zaterdag 21 juni 2014 20:50 schreef zoem het volgende:
Waarom zou je de url fragment (#) hier gebruiken? Gewoon in de query (?a=b&c=d) stoppen, dan maak je je het jezelf een stuk makkelijker. Dan kun je de informatie namelijk gewoon ophalen middels $_GET
Hm.. De javascript wordt pas uitgevoerd als je pagina direct opent. Wanneer je doorklikt vanuit de lijst met users wordt er niets getoond...quote:Op zaterdag 21 juni 2014 20:42 schreef zarGon het volgende:
Voor nu zo opgelost:
[ code verwijderd ]
.
Als je enkel de tab opnieuw laad en niet de hele pagina moet de code die je wilt gebruiken al gebruikt zijn. Dmv de onclick kan je het uitvoeren.quote:Op zaterdag 21 juni 2014 20:56 schreef zarGon het volgende:
[..]
Hm.. De javascript wordt pas uitgevoerd als je pagina direct opent. Wanneer je doorklikt vanuit de lijst met users wordt er niets getoond...
.
Maar hoe doe ik het als het laden al geweest is?quote:Op zaterdag 21 juni 2014 20:57 schreef Nattekat het volgende:
[..]
Als je enkel de tab opnieuw laad en niet de hele pagina moet de code die je wilt gebruiken al gebruikt zijn. Dmv de onclick kan je het uitvoeren.
Die code moet al op de pagina aanwezig zijn als je hem laad. Dus de pagina zonder ***&x=y.quote:Op zaterdag 21 juni 2014 20:59 schreef zarGon het volgende:
[..]
Maar hoe doe ik het als het laden al geweest is?
Welke code zou jij gebruiken?
Ik had de code ook al naar de hoofdpagina verhuisd. Waar de rest van de javascript staat. Dat werkte niet. . Of nou ja, het is mij niet gelukt iig.quote:Op zaterdag 21 juni 2014 21:00 schreef Nattekat het volgende:
[..]
Die code moet al op de pagina aanwezig zijn als je hem laad. Dus de pagina zonder ***&x=y.
De onclick is de enige call die je krijgt. Die moet je gebruiken.quote:Op zaterdag 21 juni 2014 21:01 schreef zarGon het volgende:
[..]
Ik had de code ook al naar de hoofdpagina verhuisd. Waar de rest van de javascript staat. Dat werkte niet. . Of nou ja, het is mij niet gelukt iig.
De vraag was of er javascript gecalld kon worden, de context verder ontgaat me...quote:Op zaterdag 21 juni 2014 21:11 schreef zoem het volgende:
Waarom zitten jullie nou zo onwijs moeilijk te doen met javascript en onclick Maak er hyperlinks van met het type en id in de query (?type=a&id=1). Ajax maakt het veel complexer dan nodig.
...quote:Op zaterdag 21 juni 2014 21:11 schreef zoem het volgende:
Waarom zitten jullie nou zo onwijs moeilijk te doen met javascript en onclick Maak er hyperlinks van met het type en id in de query (?type=a&id=1). Ajax maakt het veel complexer dan nodig.
Hoe bedoel je precies? Wil je beide parameters meegeven aan het script? Het kan ook dmv #type=user&id=2, echter heb je dan het script nodig dat ik ook voor de dagcijfers gebruik, heb ik hier eerder gepost. De code welke ik voor je had geschreven kun je hier niet voor gebruiken omdat die maar één parameter ondersteund.quote:Op zaterdag 21 juni 2014 20:31 schreef zarGon het volgende:
[..]
Ik heb #user=2 verandert naar #id=2. URL wordt hierdoor /?type=user#id=2.
Ik wil op de pagina waar de grafieken getoond worden ook gegevens van de user zelf tonen. Dat wil ik doen door een div toe te voegen, en alleen te tonen wanneer er een user is geselecteerd. $("#userinfo").show(); binnen selectUser().
Probleem is dat ik de geselecteerde user niet uit de URL kan halen. Met #id=2 lukt het niet, met &id=2 lukt me dat wel. Ik heb die ID nodig om gegevens uit de database te trekken.
Is het mogelijk om de #id=2 te wijzigen naar &id=2? Of weet jij een andere manier om de ID te halen als de URL /type=user#id=2 is?
http://fok.zevkiselim.nl/crew2.0/.quote:Op zaterdag 21 juni 2014 21:26 schreef bondage het volgende:
[..]
Hoe bedoel je precies? Wil je beide parameters meegeven aan het script? Het kan ook dmv #type=user&id=2, echter heb je dan het script nodig dat ik ook voor de dagcijfers gebruik, heb ik hier eerder gepost. De code welke ik voor je had geschreven kun je hier niet voor gebruiken omdat die maar één parameter ondersteund.
Heb je trouwens een voorbeeld hoe het op dit moment is? Misschien is er wel een betere manier om dit te fixen.
Ik denk dat het inderdaad beter is om de hele pagina gewoon te vernieuwen door bij de link naar de user dit van de url te maken: http://fok.zevkiselim.nl/crew2.0/?type=user&id=308148 Je krijgt via de GET array twee waarden terug, namelijk: user en id. Vervolgens de hele pagina teruggeven met de gegevens van de geselecteerde user. De JSON gegevens voor het verwerken van de grafieken kun je in een js var zetten en doorgeven aan de functie voor het verwerken van deze grafieken.quote:Op zaterdag 21 juni 2014 21:31 schreef zarGon het volgende:
[..]
http://fok.zevkiselim.nl/crew2.0/.
Ik was net bezig, daarom zag je het niet werken. 1) selecteer een user en zie de pagina; 2) open de pagina direct.
Eens, daarom had ik het in de eerste instantie ook via de hash gedaan, de code was al op die manier ingericht aangezien er losse data moest worden opgehaald. Het kan natuurlijk nog steeds via die hash, echter heb je dan een wat geavanceerder javascript nodig. Ik zal zo ff wat posten, mijn dagcijfersscript gebruikt ook zo'n functie voor het verwerken van alle parameters na de hash.quote:Op zaterdag 21 juni 2014 21:39 schreef Nattekat het volgende:
Een postrequest icm een halve pagina laden in plaats van alles is toch een stuk mooier
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <script> $(document).ready(function() { if(document.location.hash) { handleLocationHash(document.location.hash); } }); handleLocationHash = function(location_hash) { if(location_hash.length > 0) { var hash = location_hash.substr(1); var hash_parts = hash.split('&'); var post_vars = {}; for(var a in hash_parts) { var hash_sub_parts = hash_parts[a].split('=', 2); if(hash_sub_parts.length === 2) { post_vars[hash_sub_parts[0]] = hash_sub_parts[1] } } $("#userselect").hide(); $("#userinfo").show(); drawItems(post_vars); } }; </script> |
Deze code vervangt het onderstaande? (In zijn geheel?)quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <script type="text/javascript"> $(document).ready(function() { if(document.location.hash) { var hash_str_parts = document.location.hash.replace('#','').split('='); if(hash_str_parts[0] == 'id') { selectUser(hash_str_parts[1]); } } }); function selectUser(user_id) { document.location.hash = 'id='+user_id; $("#userselect").hide(); $("#userinfo").show(); drawItems(user_id); } </script> |
Kun je een voorbeeld hiervan geven? .quote:Je moet dan in de functie drawItems de post_vars variable als POST waarden meegeven in de aanroep van het script welke de JSON data ophaalt.
Ik heb mijn vorige post aangepast. Waar vind ik die drawItems functie precies?quote:Op zaterdag 21 juni 2014 22:14 schreef zarGon het volgende:
[..]
Deze code vervangt het onderstaande? (In zijn geheel?)
[ code verwijderd ]
Ik zie het selectUser() gedeelte nergens terugkomen.
[..]
Kun je een voorbeeld hiervan geven? .
Bedankt trouwens dat je code post!
In js/googlecharts.js: http://fok.zevkiselim.nl/crew2.0/js/googlecharts.js.quote:Op zaterdag 21 juni 2014 22:16 schreef bondage het volgende:
[..]
Ik heb mijn vorige post aangepast. Waar vind ik die drawItems functie precies?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <script> $(document).ready(function() { if(document.location.hash) { handleLocationHash(document.location.hash); } }); handleLocationHash = function(location_hash) { if(location_hash.length > 0) { var hash = location_hash.substr(1); var hash_parts = hash.split('&'); var post_vars = {}; for(var a in hash_parts) { var hash_sub_parts = hash_parts[a].split('=', 2); if(hash_sub_parts.length === 2) { post_vars[hash_sub_parts[0]] = hash_sub_parts[1] } } if(post_vars.id != undefined && post_vars.type != undefined) { if(post_vars.type == 'user') { selectUser(post_vars.id); }else If(post_vars.type == 'forum') { // code voor verwerken forum. } } } }; function selectUser(user_id) { $("#userselect").hide(); $("#userinfo").show(); drawItems(user_id); } </script> |
http://fok.zevkiselim.nl/crew2.0/.quote:Op zaterdag 21 juni 2014 22:27 schreef bondage het volgende:
[ code verwijderd ]
Zou je dit eens kunnen testen?
Ik zie het al, hij heeft natuurlijk ?type=user nodig om te bepalen dat je users weer wilt geven. het is dan sowieso niet nodig om dat in de js af te handelen, het is immers al bekend wat iemand wil zien aangezien die selectie al eerder is gedaan. Ik ga het ff proberen te fixen.quote:Op zaterdag 21 juni 2014 22:38 schreef zarGon het volgende:
[..]
http://fok.zevkiselim.nl/crew2.0/.
Moet er verder nog iets aangepast worden? . Na de nieuwe code komen de grafieken niet te voorschijn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <script> var data_type='<?php echo $geselecteerde_type; ?>'; $(document).ready(function() { if(document.location.hash) { handleLocationHash(document.location.hash); } }); handleLocationHash = function(location_hash) { if(location_hash.length > 0) { var hash = location_hash.substr(1); var hash_parts = hash.split('&'); var post_vars = {}; for(var a in hash_parts) { var hash_sub_parts = hash_parts[a].split('=', 2); if(hash_sub_parts.length === 2) { post_vars[hash_sub_parts[0]] = hash_sub_parts[1] } } if(post_vars.id != undefined) { if(data_type == 'user') { selectUser(post_vars.id); } } } }; function selectUser(user_id) { $("#userselect").hide(); $("#userinfo").show(); drawItems(user_id); } </script> |
<3.quote:Op zaterdag 21 juni 2014 22:43 schreef bondage het volgende:
[..]
Ik zie het al, hij heeft natuurlijk ?type=user nodig om te bepalen dat je users weer wilt geven. het is dan sowieso niet nodig om dat in de js af te handelen, het is immers al bekend wat iemand wil zien aangezien die selectie al eerder is gedaan. Ik ga het ff proberen te fixen.
Ik help je met veel plezier, maar het leek alsof mijn reactie een soort van (al dan niet onbewust) genegeerd werd. Daarom vroeg ik het voor een derde keer op een wellicht ietwat bottere wijze om het onder de aandacht te brengen.quote:Op zaterdag 21 juni 2014 21:20 schreef zarGon het volgende:
[..]
...
Dit soort comments helpen niet. Ik weet echt wel wat er beter kan, er is een reden waarom ik een topic heb geopend: ik kan het zelf niet alleen. Ik krijg hier tips, en vooral de tips met code helpen me daadwerkelijk. Als ik er veel meer verstand van had, zou dat te merken zijn in de code. bondage heeft code gepost waar ik wel wat mee kon, dus dat heb ik dan ook gebruikt.
Dit is wat er nu is. Je kunt alleen aangeven wat er beter kan, maar je kunt ook de code aanpassen. Dat is de reden waarom het op GitHub staat.
Dus, waarom onwijs moeilijk doen? Dit is het beste wat ik en de mensen die code mee hebben geschreven het beste kunnen.
Ik geef daar antwoord op. Dan zeg je:quote:Op zaterdag 21 juni 2014 20:31 schreef zarGon het volgende:
Is het mogelijk om de #id=2 te wijzigen naar &id=2?
Vervolgens ga je verder over de fragment icm javascript. Dan leg ik nogmaals uit dat je beter de query kunt gebruiken. Daarop krijg ik geen antwoord en toen had ik zoiets vanquote:Op zaterdag 21 juni 2014 20:53 schreef zarGon het volgende:
Dat is wat ik ook wil doen... Met $_GET ophalen.
Je bent ervan op de hoogte dat de grafieken worden gegenereerd door Google en dat hiervoor een functie aangeroepen moet worden om de data op te halen? Het switchen tussen de selecties gaat al via de GET, echter moet er als er daadwerkelijk een user is geselecteerd een functie worden aangeroepen die JSON data ophaalt en dat doorgeeft aan de grafiekjes van Google. Het is natuurlijk ook mogelijk door gewoon een var te vullen met deze data, echter werkt het ook prima via de hash. Aan TS de keuze wat hij graag wil gebruiken.quote:Op zaterdag 21 juni 2014 22:49 schreef zoem het volgende:
[..]
Ik help je met veel plezier, maar het leek alsof mijn reactie een soort van (al dan niet onbewust) genegeerd werd. Daarom vroeg ik het voor een derde keer op een wellicht ietwat bottere wijze om het onder de aandacht te brengen.
Jij vraagt namelijk:
[..]
Ik geef daar antwoord op. Dan zeg je:
[..]
Vervolgens ga je verder over de fragment icm javascript. Dan leg ik nogmaals uit dat je beter de query kunt gebruiken. Daarop krijg ik geen antwoord en toen had ik zoiets van
Ergo, niets aan de hand. Mekaar verkeerd begrepen
Dit werkt! De grafieken zijn weer zichtbaar.quote:Op zaterdag 21 juni 2014 22:43 schreef bondage het volgende:
[..]
Ik zie het al, hij heeft natuurlijk ?type=user nodig om te bepalen dat je users weer wilt geven. het is dan sowieso niet nodig om dat in de js af te handelen, het is immers al bekend wat iemand wil zien aangezien die selectie al eerder is gedaan. Ik ga het ff proberen te fixen.
[ code verwijderd ]
Let erop dat je deze regel aan moet passen:
var data_type='<?php echo $geselecteerde_type; ?>';
Ook opletten dat deze var is omgezet naar entities.
Ik kon niet echt wat met je antwoord, daarom reageerde ik er niet op. Je zei:quote:Op zaterdag 21 juni 2014 22:49 schreef zoem het volgende:
[..]
Ik help je met veel plezier, maar het leek alsof mijn reactie een soort van (al dan niet onbewust) genegeerd werd. Daarom vroeg ik het voor een derde keer op een wellicht ietwat bottere wijze om het onder de aandacht te brengen.
Jij vraagt namelijk:
[..]
Ik geef daar antwoord op. Dan zeg je:
[..]
Je hebt vaker op deze manier gepost. Eerst geef je aan wat er beter kan, vervolgens vertel je hoe. Daar ben ik je dankbaar voor, maar ik heb vaker aangegeven dat mijn kennis niet zo ver reikt. Aan 'gewoon x doen' heb ik persoonlijk weinig aan, ik heb simpelweg geen idee hoe.quote:Op zaterdag 21 juni 2014 20:50 schreef zoem het volgende:
Waarom zou je de url fragment (#) hier gebruiken? Gewoon in de query (?a=b&c=d) stoppen, dan maak je het jezelf een stuk makkelijker. Dan kun je de informatie namelijk gewoon ophalen middels $_GET
Ja, precies. Je legt uit dat ik de query kan gebruiken, maar ik heb geen fucking idee hoe. Ik heb net wat meer uitleg nodig.quote:Vervolgens ga je verder over de fragment icm javascript. Dan leg ik nogmaals uit dat je beter de query kunt gebruiken. Daarop krijg ik geen antwoord en toen had ik zoiets van
Ergo, niets aan de hand. Mekaar verkeerd begrepen
Prio is natuurlijk het werkend krijgen van het geheel, het mag best dirty in eerste instantie, zolang het maar werkt.quote:Op zaterdag 21 juni 2014 22:54 schreef bondage het volgende:
[..]
Je bent ervan op de hoogte dat de grafieken worden gegenereerd door Google en dat hiervoor een functie aangeroepen moet worden om de data op te halen? Het switchen tussen de selecties gaat al via de GET, echter moet er als er daadwerkelijk een user is geselecteerd een functie worden aangeroepen die JSON data ophaalt en dat doorgeeft aan de grafiekjes van Google. Het is natuurlijk ook mogelijk door gewoon een var te vullen met deze data, echter werkt het ook prima via de hash. Aan TS de keuze wat hij graag wil gebruiken.
Die zou je in de selectUser functie naar een div kunnen schrijven, die is daar immers bekend.quote:Op zaterdag 21 juni 2014 23:31 schreef zarGon het volgende:
[..]
Dit werkt! De grafieken zijn weer zichtbaar.
Een vervolgvraag: hoe kan op bijvoorbeeld deze http://fok.zevkiselim.nl/crew2.0/?type=user#id=151187 pagina nu wel de userid tonen? In dit geval 151187.
Missende tijdslijnen?quote:Op zaterdag 21 juni 2014 23:51 schreef Nattekat het volgende:
Is het probleem van de missende tijdslijnen trouwens al opgelost? Anders ga ik dat nu wel doen.
Danke! Even proberen.quote:Op zaterdag 21 juni 2014 23:47 schreef bondage het volgende:
[..]
Die zou je in de selectUser functie naar een div kunnen schrijven, die is daar immers bekend.
De timeline wordt nu altijd getoond. (In de versie op GitHub dus.)quote:Op zaterdag 21 juni 2014 23:55 schreef Nattekat het volgende:
[..]
[ afbeelding ]
Ik zie dat maar als een nee
Die heb ik net gedownload, daar kan het niet aan liggen. Ik kan heel die functie niet vinden in de bestanden die ik heb, weet je zeker dat je hem geupgraded hebt?quote:Op zaterdag 21 juni 2014 23:57 schreef zarGon het volgende:
[..]
De timeline wordt nu altijd getoond. (In de versie op GitHub dus.)
Kun je de inhoud van je gettimeline posten?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php var jsonTimelineData; $.ajax({ url: "content/getchartdata/user-timeline.php", dataType: "JSON", async: false, data: { user: num }, success: function(callback) { jsonTimelineData = callback; } }); ?> |
Dat is de javascript in googlecharts.js. Ik doelde meer op de PHP (content/getchartdata/user-timeline.php). Vraag me af of hoe het met de SQL-query zit.quote:Op zondag 22 juni 2014 00:01 schreef Nattekat het volgende:
[..]
Die heb ik net gedownload, daar kan het niet aan liggen. Ik kan heel die functie niet vinden in de bestanden die ik heb, weet je zeker dat je hem geupgraded hebt?
Dit zou het moeten zijn:
[ code verwijderd ]
Nee dat is het niet; dit wordt veroorzaakt door een error die verschijnt op line 60: 'Argument given to addRows must be either a number or an array'quote:Op zondag 22 juni 2014 00:05 schreef zarGon het volgende:
[..]
Dat is de javascript in googlecharts.js. Ik doelde meer op de PHP (content/getchartdata/user-timeline.php). Vraag me af of hoe het met de SQL-query zit.
Als er iets fouts was aan de timeline (dus aan de javascript hierboven), dan zouden alle grafieken niet getoond worden. Iets wat ik heb opgemerkt bij het testen. Ik vermoed dat het aan de SQL-query ligt.
1 2 3 | <?php chart.draw(dataTable,{width: 700}); ?> |
.quote:Op zaterdag 21 juni 2014 23:31 schreef Nattekat het volgende:
Het onderscheid tussen de tabbladen per user lijkt nu aardig te werken; op een foutmelding na die nog opgelost moet worden. Door middel van een extra argument zal user-piechart.php enkel een tabel retourneren waarin de gegevens van enkel het forum of enkel de FP verwerkt zijn.
[ afbeelding ]
De foutmelding verschijnt ook met het orgineel ben ik net achter. Dus verder is alles helemaal prima
Je wilde ook nog een overzicht per forum heb ik begrepen?quote:Op zondag 22 juni 2014 00:07 schreef zarGon het volgende:
[..]
.
Ik ga proberen om dit in te bouwen: http://tutsme-webdesign.i(...)cked_panesright.html. Code staat op http://tutsme-webdesign.info/bootstrap-3-toggable-tabs-and-pills/ (VERTICALLY STACKED PILLS/TABS).
Per tab komt dan de onderscheid. Pill A = forum; Pill B = Frontpage, bijvoorbeeld.
Nee, per subsite. Forum is een subsite, Frontpage is een subsite.quote:Op zondag 22 juni 2014 00:08 schreef Nattekat het volgende:
[..]
Je wilde ook nog een overzicht per forum heb ik begrepen?
Ik bedoelde dat je in bijvoorbeeld GC kan zien wie de mods zijn geweest in de geschiedenisquote:Op zondag 22 juni 2014 00:11 schreef zarGon het volgende:
[..]
Nee, per subsite. Forum is een subsite, Frontpage is een subsite.
In geval van user static heb je dus:
- Totaaloverzicht (7 records)
- 5 x Forum (SHO/SHO/SHO/KAA/KAA)
- 2 x Frontpage (Redactie FP/Redactie FP)
Dat kun je natuurlijk ook gewoon meegeven in de hash en afvangen in de handleLocationHash functie.quote:Op zondag 22 juni 2014 00:11 schreef zarGon het volgende:
[..]
Nee, per subsite. Forum is een subsite, Frontpage is een subsite.
In geval van user static heb je dus:
- Totaaloverzicht (7 records)
- 5 x Forum (SHO/SHO/SHO/KAA/KAA)
- 2 x Frontpage (Redactie FP/Redactie FP)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |