Ik heb ze, ze verschijnen ook als ik php -m uitvoer, maar die error blijft staan. Lees net ergens dat ik misschien de sql server op de verkeerde driver heb, helaas geen idee waar ik dat kan aanpassen.quote:Op woensdag 18 juni 2014 16:44 schreef zarGon het volgende:
[..]
Ik gebruik XAMPP om mee te testen. Wellicht dat je dat ook kunt installeren om ermee te testen?
Heb je die .dll's niet? Alleen het enablen ervan zou voldoende moeten zijn toch?
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 | [PHP Modules] bcmath calendar Core ctype date dom ereg filter ftp hash iconv json libxml mcrypt mhash mysqlnd odbc pcre PDO pdo_mysql Phar Reflection session SimpleXML SPL standard tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules] |
Hoe zou ik dit kunnen doen?quote:Op woensdag 18 juni 2014 16:43 schreef bondage het volgende:
[..]
De content wordt dynamisch bijgeladen waardoor de select blijft staan. Je zou de select binnen een div kunnen zetten welke je na het laden van de data kunt verwijderen.
Dit was mijn plan ook als ik het niet anders kon oplossen.quote:Een andere optie is dat je na de selectie doorlinkt naar een tweede pagina waar de select niet staat , je de waarde achter de hash meegeeft en deze op dat moment laat verwerken dmv het document.ready blok.
Geef je form een id:quote:Op woensdag 18 juni 2014 16:47 schreef zarGon het volgende:
[..]
Hoe zou ik dit kunnen doen?
http://stackoverflow.com/(...)how-again-after-load. Is dit een mogelijkheid? (Kan nu even niet aan de code prutsen.)
[..]
Dit was mijn plan ook als ik het niet anders kon oplossen..
1 2 3 4 5 6 7 8 9 | <form id="user_select_form"> <select name="users" onchange="drawItems(this.value)"> <option value="">Gebruiker:</option> <option value="3">Marie30</option> <option value="4">Mike</option> <option value="2">Snakey</option> <option value="1">zarGon</option> </select> </form> |
Waar moet die laatste code precies gestopt worden?quote:Op woensdag 18 juni 2014 16:53 schreef bondage het volgende:
[..]
Geef je form een id:
[ code verwijderd ]
En dan na het verwerken:
$("#user_select_form").hide();
In de functie drawItems(), als je dan een link met #user-id aanroept dan wordt de select ook meteen onzichtbaar gemaakt.quote:Op woensdag 18 juni 2014 16:58 schreef zarGon het volgende:
[..]
Waar moet die laatste code precies gestopt worden?
Het verdwijnt nu wel al ik de URL direct aanroep, maar blijft staan als ik een naam kies en dan naar de URL ga.
1 2 3 4 5 6 7 8 9 | <form id="user_select_form"> <select name="users" onchange="selectUser(this.value)"> <option value="">Gebruiker:</option> <option value="3">Marie30</option> <option value="4">Mike</option> <option value="2">Snakey</option> <option value="1">zarGon</option> </select> </form> |
1 2 3 4 5 | function selectUser(user_id) { document.location.hash = 'user='+user_id; $("#user_select_form").hide(); drawItems(user_id); } |
quote:Op woensdag 18 juni 2014 17:00 schreef bondage het volgende:
[..]
In de functie drawItems(), als je dan een link met #user-id aanroept dan wordt de select ook meteen onzichtbaar gemaakt.
Dit werkt, maar de select blijft dan staan als ik de URL direct open. Als ik 'm in drawItems() plaatst werkt het wel goed.quote:Op woensdag 18 juni 2014 17:06 schreef bondage het volgende:
Voor de leesbaarheid zou je eventueel een extra functie kunnen maken, dan hoef je niet alles binnen drawitems te zetten.
[ code verwijderd ]
Javascript:
[ code verwijderd ]
Waarschijnlijk heb je dit niet aangepast:quote:Op donderdag 19 juni 2014 09:31 schreef zarGon het volgende:
[..].
[..]
Dit werkt, maar de select blijft dan staan als ik de URL direct open. Als ik 'm in drawItems() plaatst werkt het wel goed.
Thanks!.
1 2 3 4 5 6 7 8 | $(document).ready(function() { if(document.location.hash) { var hash_str_parts = document.location.hash.replace('#','').split('='); if(hash_str_parts[0] == 'user') { drawItems(hash_str_parts[1]); } } }); |
1 2 3 4 5 6 7 8 | $(document).ready(function() { if(document.location.hash) { var hash_str_parts = document.location.hash.replace('#','').split('='); if(hash_str_parts[0] == 'user') { selectUser(hash_str_parts[1]); } } }); |
Is het gelukt om PDO nog aan de praat te krijgen?quote:Op woensdag 18 juni 2014 16:46 schreef Nattekat het volgende:
[..]
Ik heb ze, ze verschijnen ook als ik php -m uitvoer, maar die error blijft staan. Lees net ergens dat ik misschien de sql server op de verkeerde driver heb, helaas geen idee waar ik dat kan aanpassen.
[ code verwijderd ]
Hoe werkt de scraper? Als ik 'm nu open krijg ik een blanco pagina.quote:Op woensdag 18 juni 2014 09:14 schreef esv7 het volgende:
[..]
Hmmmm de synchronisatie ging niet helemaal lekker zo te zien, ik zal er zo nog even goed naar kijken maar scraper.php is erbij gekomen nu.
quote:Op donderdag 19 juni 2014 09:48 schreef bondage het volgende:
[..]
Waarschijnlijk heb je dit niet aangepast:
[ code verwijderd ]
Moet worden:
[ code verwijderd ]
Ja op het moment wordt het opgeslagen in een lokaal tekstbestandje, ik zal binnekort wel even maken dat het gelijk in de database komt.quote:Op donderdag 19 juni 2014 09:57 schreef zarGon het volgende:
oe komt de data uiteindelijk in de database? Of hoe zou dat moeten gebeuren? Je zei dat de database aangepast moest worden?
Ga het straks op een andere computer proberen, een betere waar ik normaal ook op werk. Anders ga ik verder met jouw oplossing.quote:Op donderdag 19 juni 2014 09:55 schreef zarGon het volgende:
[..]
Is het gelukt om PDO nog aan de praat te krijgen?
Stel, je hebt het onderstaande als op Home bent:quote:
1 2 3 4 | <li class="active"><a href="#">Home</a></li> <li><a href="#">Users</a></li> <li><a href="#">Fora</a></li> <li><a href="#">Ranglijst</a></li> |
1 2 3 4 | <li><a href="#">Home</a></li> <li class="active"><a href="#">Users</a></li> <li><a href="#">Fora</a></li> <li><a href="#">Ranglijst</a></li> |
Bedoel je dat je het zo wilt hebben?quote:Op donderdag 19 juni 2014 16:48 schreef zarGon het volgende:
[..]
Stel, je hebt het onderstaande als op Home bent:
[ code verwijderd ]
En het onderstaande als op Users bent:
[ code verwijderd ]
Kan dit met jQuery geregeld worden?
Ja...quote:Op donderdag 19 juni 2014 16:58 schreef Nattekat het volgende:
[..]
Bedoel je dat je het zo wilt hebben?
Ik weet dat je bij javascript kan zeggen:quote:Op donderdag 19 juni 2014 17:04 schreef zarGon het volgende:
[..]
Ja...
Ik heb Home geopend => Home heeft <li class="active">, de rest <li>.
Ik heb Users geopend => Users heeft <li class="active">, de rest <li>.
Etc etc.
1 2 3 4 5 6 7 8 9 | var list = document.getElementsByClassName("pagetab") for (i=0; i < list.length; i++) { if (list[i].innerHTML == curpage) { list[i].className = "pagetab active" } else { list[i].className = "pagetab" } } |
JavaScript is ook prima hoor.quote:Op donderdag 19 juni 2014 17:18 schreef Nattekat het volgende:
[..]
Ik weet dat je bij javascript kan zeggen:
[ code verwijderd ]
Met curpage gelijk aan de pagina waar je je op dat moment op bevindt.
Eventueel kan je in plaats van de innerHTML ook kijken naar een Id, wat ik zou aanraden.
In JQuery ben ik wat minder thuis...
Je kan in het hoofdblok curpage een value geven, en vervolgens op elk tabblad een functie zetten die het veranderen naar de pagina waar je je op dat moment bevindt.quote:Op donderdag 19 juni 2014 17:22 schreef zarGon het volgende:
[..]
JavaScript is ook prima hoor.
Hoe weet dit stukje code op welke pagina ik ben? Kun je iets duidelijk aangeven hoe ik het stukje code precies kan gebruiken?
1 2 3 4 5 6 | function getPageName(url) { var index = url.lastIndexOf("/") + 1; var filenameWithExtension = url.substr(index); var filename = filenameWithExtension.split(".")[0]; return filename; } |
1 2 3 4 5 6 7 8 | <?php $app = new \Slim\Slim(); $app->get('/hello/:name', function ($name) { echo "Hello, $name"; }); $app->run(); ?> |
1 2 3 4 5 6 7 8 9 | <?php $app = new Silex\Application(); $app->get('/hello/{name}', function($name) use($app) { return 'Hello '.$app->escape($name); }); $app->run(); ?> |
Misschien kan jij mij ook een handje helpen;quote:
Hij verschijnt wel in php.exe -m, daar zit het probleem niet.quote:Op donderdag 19 juni 2014 17:58 schreef zoem het volgende:
Als pdo niet in de lijst van phpinfo staat, dan is de driver niet ingeladen. De documentatie al bekeken?
Begrijp me niet verkeerd, maar als ik overweg kon gaan met een framework en dit zelf met PHP zou kunnen afhandelen, zou ik daar al vast naar gekeken hebben. Ik weet niet of je het doorhebt, maar mijn kennis (en niveau) reikt niet zo ver.quote:Op donderdag 19 juni 2014 17:32 schreef zoem het volgende:
Dergelijke navigatiezaken worden normaliter in php afgehandeld. Een degelijk framework heeft een router die bepaalt welke route gevolgd moet worden adv de opgegeven url. Uit de route kun je afleiden welke pagina bezocht wordt.
Je zou er een microframework aan kunnen koppelen zoals Slim of Silex. Zo creëer je gelijk een beetje structuur in je applicatie zonder de overhead/complexiteit van een full-blown framework.
Slim:
[ code verwijderd ]
Silex:
[ code verwijderd ]
Hmhmm, die require/require_once is wel een goeie. Dat van de array ook wel, maar zou ik eerst moeten uitzoeken hoe.quote:Ik zie op een aantal punten include staan. Let op dat dit statement alleen een warning genereert wanneer de file niet bestaat en doorgaat met uitvoeren van de code. Voor de meeste zaken is require/require_once een betere keuze daar het een fatal error geeft.
De file db.php zou ik omschrijven naar een algemeen configuratiebestand. Het eenvoudigst is om daar een array in te zetten met de instellingen ipv losse variabelen te hanteren.
Ik heb er een eerste versie van een template bij gedaan: http://fok.zevkiselim.nl/crew2.0/bootstrap/.quote:Op woensdag 18 juni 2014 16:53 schreef bondage het volgende:
[..]
Geef je form een id:
[ code verwijderd ]
En dan na het verwerken:
$("#user_select_form").hide();
Het was ook bedoeld om te laten zien hoe een dergelijk probleem doorgaans opgelost wordt. Ik zag javascript-oplossingen voorbij komen en dat leek mij niet zo'n ideale oplossing. Slim (en Silex vast ook, maar geen ervaring mee) is echt doodeenvoudig maar ik snap dat het wellicht nog te hoog gegrepen is voor nu.quote:Op donderdag 19 juni 2014 22:07 schreef zarGon het volgende:
[..]
Begrijp me niet verkeerd, maar als ik overweg kon gaan met een framework en dit zelf met PHP zou kunnen afhandelen, zou ik daar al vast naar gekeken hebben. Ik weet niet of je het doorhebt, maar mijn kennis (en niveau) reikt niet zo ver.
Ik vind het meedenken echt heel tof, alleen kan ik met sommige ideeën heel weinig, maar dat ligt volledig aan mij.
Op deze wijze:quote:Hmhmm, die require/require_once is wel een goeie. Dat van de array ook wel, maar zou ik eerst moeten uitzoeken hoe.
1 2 3 4 5 | <?php $settings = array(); $settings['user'] = 'user1'; $settings['pass'] = 'test'; ?> |
Hoe moet ik die instellingen daadwerkelijk gebruiken?quote:Op donderdag 19 juni 2014 22:14 schreef zoem het volgende:
[..]
Het was ook bedoeld om te laten zien hoe een dergelijk probleem doorgaans opgelost wordt. Ik zag javascript-oplossingen voorbij komen en dat leek mij niet zo'n ideale oplossing. Slim (en Silex vast ook, maar geen ervaring mee) is echt doodeenvoudig maar ik snap dat het wellicht nog te hoog gegrepen is voor nu.
[..]
Op deze wijze:
[ code verwijderd ]
1 2 3 | <?php $con= new PDO( "mysql:host=" . $dbserver . ";dbname=" . $dbname, $dbuser, $dbpass); ?> |
1 2 3 | <?php $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"] , $settings["dbuser"], $settings["dbpass"]); ?> |
Hoe heet je op GitHub?quote:Op donderdag 19 juni 2014 22:16 schreef Nattekat het volgende:
Kan ik trouwens editrechten krijgen voor GitHub? Dan kan ik beginnen
Hoe ver is het nu trouwens? Moet ik alles nog in een bepaald formaat geven?
Heel orgineel Nattekatquote:
Toegevoegd!quote:Op donderdag 19 juni 2014 22:31 schreef Nattekat het volgende:
[..]
Heel orgineel Nattekat
Ik krijgens het idee dat de crew2.0 site en de bestanden in Github niet overeenkomen
Dan heb ik volgens mij een ouder script te pakkenquote:Op donderdag 19 juni 2014 22:35 schreef zarGon het volgende:
[..]
Toegevoegd!
Wat je nu in de repo op GitHub ziet is wat je op /crew2.0 ziet. Wat er nu eigenlijk moet gebeuren is een template, en daar was ik mee bezig..
Wat klopt er niet dan?quote:Op donderdag 19 juni 2014 22:38 schreef Nattekat het volgende:
[..]
Dan heb ik volgens mij een ouder script te pakken
Aight!quote:Ik ga nu de getpiechartdata.php en die andere twee aanpassen zodat ze onderscheid kunnen maken tussen alle stats, forumstats en overig. Dat was volgens mij de bedoeling
quote:Op donderdag 19 juni 2014 22:30 schreef zarGon het volgende:
[..]
Hoe moet ik die instellingen daadwerkelijk gebruiken?
Nu:
[ code verwijderd ]
Zo?
[ code verwijderd ]
De form verdwijnt voor mij bij het maken van een keuze.quote:
Dat zou wel handig zijnquote:[..]
Aight!
Als je wil kan ik een user toevoegen die bij meerdere subsites zit/zat. De huidige 4 hebben alleen 'forum'.
Jep, dat was de bedoeling. (Kun je hierboven teruglezen.)quote:Op donderdag 19 juni 2014 22:58 schreef Nattekat het volgende:
[..]
De form verdwijnt voor mij bij het maken van een keuze.
1 | $("#user_select_form").hide(); |
Okay. Doe ik zo.quote:[..]
Dat zou wel handig zijn
Vreemd dan dat dat op de publieke site juist niet zo is. In mijn lokale versie verdwijnt ie wel.quote:Op donderdag 19 juni 2014 23:04 schreef zarGon het volgende:
[..]
Jep, dat was de bedoeling. (Kun je hierboven teruglezen.)
Ik wilde de dropdown vervangen met een lijstje. Zie http://fok.zevkiselim.nl/crew2.0/bootstrap/?type=user.
Bedoeling is dat het lijstje na het kiezen van een user verdwijnt. Dat is wat je ziet gebeuren.
Verwijder dit gedeelte:
[ code verwijderd ]
[..]
Okay. Doe ik zo.
De website loopt een beetje achter. Mijn bedoeling was om een update te doen en dan de site bij te werken, maar ik heb een kleine issue.quote:Op donderdag 19 juni 2014 23:06 schreef Nattekat het volgende:
[..]
Vreemd dan dat dat op de publieke site juist niet zo is. In mijn lokale versie verdwijnt ie wel.
Website is up-to-date. Rechtsboven staat de SHA van de commit, zodat je duidelijk ziet wat er op de website draait.quote:Op donderdag 19 juni 2014 23:06 schreef Nattekat het volgende:
[..]
Vreemd dan dat dat op de publieke site juist niet zo is. In mijn lokale versie verdwijnt ie wel.
Hier gaat het fout:quote:Op donderdag 19 juni 2014 22:11 schreef zarGon het volgende:
[..]
Ik heb er een eerste versie van een template bij gedaan: http://fok.zevkiselim.nl/crew2.0/bootstrap/.
Het gaat bijna goed... Als ik in de users-pagina een user aanklik, verandert de URL in de adresbalk, maar worden de grafieken niet getoond. Het adres klopt wel, kopieer en plak het maar in een nieuw venster.
Ik heb de div de id van de form gegeven. De href verwijst naar de directe URL, de onclick roept selectUser op (zoals de onchange in de dropdownlijst).
Wat mis ik?
1 | <a href="?type=user#user=3" onchange="selectUser(3)">Marie30</a> |
omfgquote:Op donderdag 19 juni 2014 23:15 schreef bondage het volgende:
[..]
Hier gaat het fout:
[ code verwijderd ]
Je hebt daar een onChange staan, moet onClick worden.
Net een nieuwe versie gepusht. Nu inclusief template. Website ook bijgewerkt: http://fok.zevkiselim.nl/crew2.0/.quote:Op donderdag 19 juni 2014 23:06 schreef Nattekat het volgende:
[..]
Vreemd dan dat dat op de publieke site juist niet zo is. In mijn lokale versie verdwijnt ie wel.
Nee, daar ben ik (nog) niet mee bezig.quote:Op vrijdag 20 juni 2014 00:32 schreef Nattekat het volgende:
Nog een vraagje voor het slapengaan, de tabs was jij mee bezig? Dus daar hoef ik me geen zorgen over te maken verder.
Ik kan eventueel de tabs wel in de template zetten, maar per subsite (FP/forum/weblog) zouden de overzichten (tabel/piechart/timeline) dan herhaald moeten worden, in hun eigen tab.quote:Op donderdag 19 juni 2014 22:38 schreef Nattekat het volgende:
[..]
Ik ga nu de getpiechartdata.php en die andere twee aanpassen zodat ze onderscheid kunnen maken tussen alle stats, forumstats en overig. Dat was volgens mij de bedoeling
Ik heb #user=2 verandert naar #id=2. URL wordt hierdoor /?type=user#id=2.quote:Op donderdag 19 juni 2014 23:15 schreef bondage het volgende:
[..]
Hier gaat het fout:
[ code verwijderd ]
Je hebt daar een onChange staan, moet onClick worden.
1 2 3 | <?php $id = '<script type="text/javascript">var curID = window.location.hash; document.write(curID);</script>'; ?> |
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.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 onclickMaak 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 onclickMaak 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: |