Ik vind dat je helemaal gelijk hebt. Jij post in ieder geval iets waar webbyplus nog wat aan kan hebben als voorbeeld. De rest levert alleen maar commentaar zonder met iets echt nuttigs te komen...quote:Op dinsdag 26 februari 2013 15:47 schreef The_Terminator het volgende:
[..]
Ik weet het, ik gebruik zelf MySQLi. Ik heb gewoon een beetje genoeg van dat gezeik over dat stuk code wat ik heb gepost. Het doet wat het moet doen, als webbyplus besluit het te gebruiken dan moet hij het maar naar wens aanpassen, de blauwdruk is er, de rest kan hij zelf wel naar wens aanpassen mag ik hopen.
Maargoed, lekker zelf weten, ik post hier geen regel code meer.
Nou me dunkt, voor zo'n wazige vraag vind ik dat'ie behoorlijk wat nuttige input gekregen heeft!quote:Op dinsdag 26 februari 2013 15:50 schreef Rockfire het volgende:
[..]
Ik vind dat je helemaal gelijk hebt. Jij post in ieder geval iets waar webbyplus nog wat aan kan hebben als voorbeeld. De rest levert alleen maar commentaar zonder met iets echt nuttigs te komen...
quote:Welkom bij onze live chat. Ik help u graag met het beantwoorden van korte en snelle vragen over onze diensten, ons klantenpaneel en de verschillende controle panelen zoals DirectAdmin en SolusVM.
Voor overige vragen vragen wij u contact op te nemen met support@webhoster.nl.
Klant Tue, 2/26/2013 05:09:24 pm
beste, kunt u zorgen dat er weer diskruimte komt op de server van ****.nl? krijg nu meldingen dat er geen schrijfruimte meer is
Medewerker Tue, 2/26/2013 05:10:16 pm
Er moet voldoende ruimte zijn
Klant Tue, 2/26/2013 05:10:44 pm
Daar denkt PHP anders over
[err] => WARNING
[errno] => 2
[errstr] => mkdir() [<a href='function.mkdir'>function.mkdir</a>] : No space left on device
[errfile] => /home****/public_html/functio ns.php
[errline] => 221
[errsql] =>
Medewerker Tue, 2/26/2013 05:12:08 pm
Moment
Test het nogmaals.
Klant Tue, 2/26/2013 05:15:12 pm
probleem opgelost!, en toch wat te weinig ruimte?![]()
Medewerker Tue, 2/26/2013 05:15:33 pm
Nee, php dacht dat nog.
Fijne dag verder.
In de meeste database doe je dit via order by prior, in Oracle zit het zeker, en ik denk als je daar op gaat googlen dat je wel wat dingen vind, iets zoals dit: http://explainextended.co(...)al-queries-in-mysql/quote:Op dinsdag 26 februari 2013 12:24 schreef webbyplus het volgende:
Hallo, zie bijgaande tabel mappen;
[ afbeelding ]
Nu wil ik in alfabetische volgorde van mapname een boomstructuur opbouwen waarbij wordt ingesprongen met 5 x spatie per niveau.
ID --> Unieke naam
Mapname --> Omschrijving
Parentmap --> Geeft aan welke ID de parent is van deze map
Haschildren --> Geeft aan of de betreffende ID children heeft
Level --> Geeft aan op welk niveau de map zich bevind
Dit met de wetenschap dat het aantal niveau's theoretisch gezien tot 20 zou kunnen uitlopen.
De uitvoer zou er obv deze tabel zo uitzien;
----- school
---------- AV1
--------------- kjhkj
---------- AV2
---------- AV3
---------- jkl
---------- mno
---------- pqr
----- werk
---------- def
--------------- test
---------- ghi
---------- stu
---------- vwx
---------- yz
Iemand zin in deze uitdaging?
Dat soort informatie kan gecached worden: http://php.net/clearstatcache Of dat ook voor mkdir op gaat weet ik niet.quote:Op dinsdag 26 februari 2013 17:22 schreef Chandler het volgende:
Wat moet ik hier van denken? zit de medewerker nou te lullen of what? zie chat...
[..]
Tja maar ze zouden dan toch kunnen aangeven dat inderdaad de DISK vol was... (kan gebeuren toch) maar nee natuurlijk was dat niet het geval volgens hun....quote:Op dinsdag 26 februari 2013 18:55 schreef papernote het volgende:
[..]
Dat soort informatie kan gecached worden: http://php.net/clearstatcache Of dat ook voor mkdir op gaat weet ik niet.
quote:Op dinsdag 26 februari 2013 19:01 schreef raptorix het volgende:
Kennelijk kun je hier dus geen sql code plakken, waarschijnlijk security ding.
http://pastebin.com/zLdbUnRG
1 2 3 4 5 6 7 8 9 10 11 12 13 | WITH n(nodeId, alias,mastercontenttype,icon,thumbnail) AS (SELECT nodeId, alias,mastercontenttype,icon,thumbnail FROM [cmsContentType] UNION ALL SELECT nplus1.nodeId, nplus1.alias , nplus1.mastercontenttype, nplus1.icon,nplus1.thumbnail FROM [cmsContentType] as nplus1, n WHERE n.nodeId = nplus1.masterContentType) SELECT distinct cmsContentType_1.alias,n.nodeId,n.alias,n.icon,n.thumbnail FROM n LEFT OUTER JOIN dbo.cmsContentType AS cmsContentType_1 ON n.masterContentType = cmsContentType_1.nodeId order by n.nodeId |
quote:Op woensdag 27 februari 2013 08:31 schreef raptorix het volgende:
[..]
Mogelijk probleem met onze corporate firewall
Onze firewall blocked soms suspicious requests zoals xss en sql, beheerder zit hier naast me dus zal eens vragenquote:
Nope en als het goed is is die cache ook per request. Wat wel kan is dat ze een virtueel filesystem per klant gebruiken voor security redenen. Een soort chroot maar die nog veel verder gaat (CageFS bv)quote:Op dinsdag 26 februari 2013 18:55 schreef papernote het volgende:
[..]
Dat soort informatie kan gecached worden: http://php.net/clearstatcache Of dat ook voor mkdir op gaat weet ik niet.
Dus zat de hoster lekker uit z'n nek te lullenquote:Op woensdag 27 februari 2013 14:27 schreef StM het volgende:
[..]
Nope en als het goed is is die cache ook per request. Wat wel kan is dat ze een virtueel filesystem per klant gebruiken voor security redenen. Een soort chroot maar die nog veel verder gaat (CageFS bv)
Huh, verklaarquote:Op woensdag 27 februari 2013 19:46 schreef JK het volgende:
Pfff een CSS style sheet in een php file (header) laden is niet makkelijk.
Wat wil je dynamisch maken aan je stylesheet?quote:Op woensdag 27 februari 2013 19:46 schreef JK het volgende:
Pfff een CSS style sheet in een php file (header) laden is niet makkelijk.
Ik gebruik een CSS menu, maar ik denk dat ik op zoek ga naar wat anders.
Ben op dit moment een HTML frame website aan het omzetten naar php (nouja, html/php combi), maar het CSS menu komt er niet netjes uit, de kleuren gaan goed, maar de <li> linkjes zet hij onder elkaar neer zonder stijl.
Ik ben overigens een php newbie, dus daar ligt het uiteraard aan.
echo en print ook al geprobeerd, maar dat ging ook niet echt (of ik doe het niet goed)
Is je vraag hoe je een PHP stylesheet kan gebruiken?quote:Op woensdag 27 februari 2013 19:46 schreef JK het volgende:
Pfff een CSS style sheet in een php file (header) laden is niet makkelijk.
Ik gebruik een CSS menu, maar ik denk dat ik op zoek ga naar wat anders.
Ben op dit moment een HTML frame website aan het omzetten naar php (nouja, html/php combi), maar het CSS menu komt er niet netjes uit, de kleuren gaan goed, maar de <li> linkjes zet hij onder elkaar neer zonder stijl.
Ik ben overigens een php newbie, dus daar ligt het uiteraard aan.
echo en print ook al geprobeerd, maar dat ging ook niet echt (of ik doe het niet goed)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php header("Content-type: text/css"); $white = '#fff'; $dkgray = '#333'; $dkgreen = '#008400'; ?> body { background:<?php=$white?>; color:<?php=$dkgray?>; } h1, h2, h3, h4 { color:<?php=$dkgreen?>; } blockquote { color:<?php=$dkgreen?>; } |
1 2 | <link rel="stylesheet" type="text/css" media="screen" href="style.php"> |
Waarom niet gewoon een selector die alleen van toepassing is op je header?quote:Op woensdag 27 februari 2013 19:59 schreef JK het volgende:
Voor een php beginner dan.
Die CSS is alleen nodig in de header, niet op de rest van de pagina.. dus dynamisch?!
...Volgens mij ben je echt iets héél raars aan het bouwen... doe eens een voorbeeldje?quote:Op woensdag 27 februari 2013 19:59 schreef JK het volgende:
Voor een php beginner dan.
In de CSS staan kleuren en stijlen, de kleur pakt hij op, maar bij <ul> <li> moet hij een net horizontaal menu maken met knoppen. Nu laat hij alles zien in old fashion HTML, dus met van die bulletpoints.
In de header.php wil ik een menu hebben, de rest van de content laad ik in de php die men opvraagt en dan nog een footer.php. Maar bij de header gaat het fout... en die header laad ik overigens in vlak na </head>, omdat je anders verplicht de titel in de header.php moet stoppen en dus elke keer dezelfde titel hebt voor elke pagina.
Die CSS is alleen nodig in de header, niet op de rest van de pagina.. dus dynamisch?!
Eerder in CSS. Je probeert iets met PHP waar het helemaal niet voor bedoeld is.quote:Op woensdag 27 februari 2013 20:18 schreef JK het volgende:
Euh?! Ik denk dat ik me nog even wat verder moet verdiepen in php.
Ik denk dat je iets verschrikkelijk verkeerd doet als je 110 bestanden moet doorploegen.quote:Maar ik denk dat ik sowieso in eerste instantie alle HTML bestanden PHP vriendelijk ga maken en dan op het laatste moment dit menu probleem wil oppakken. Nog een 110 bestanden te gaan.
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 | <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>blah</title> <style type="text/css"> <!-- .style4 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .style6 { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; } a:link { color: #0000FF; } a:visited { color: #990066; } a:hover { color: #FF0000; } a:active { color: #00CC00; } .style7 {font-size: 10px} --> </style> </head> <?php include("header.php"); ?> inhoud van de pagina komt hier <?php include("footer.php"); ?> |
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 | <link href="menu_assets/styles.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!-- .style1 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .style3 {font-family: Arial, Helvetica, sans-serif} .style5 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; } --> </style> <?php include("googleanalyticscode.php"); ?> <body> <div align="center"> <img src="menu/banner4b.jpg" width="1020" height="110" /> </center> </div> <center> <div id='cssmenu'> <ul> <li class='active '><a href='index.php'><span>Home</span></a></li> <li class='active '><a href='blah.php'><span>Menu item 2</span></a></li> <li class='active '><a href='blah2.php'><span>Menu item 3</span></a></li> <li class='active '><a href='blah3.php'><span>Menu item 4</span></a></li> <li class='active '><a href='blah4.php'><span>Menu item 5</span></a></li> <li class='active '><a href='blah5.php'><span>Menu item 6</span></a></li> <li class='active '><a href='blah6.php'><span>Menu item 7</span></a></li> <li class='active '><a href='blah7.php'><span>Menu item 8</span></a></li> <li class='active '><a href='contact.php'><span>Contact</span></a></li> </ul> </div></center> <p> |
En hoe vaak doen ze het niet dan?quote:Op woensdag 27 februari 2013 21:08 schreef Scorpie het volgende:
Hoe vaak we die onderste alinea hier niet horen
1 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> |
99.8%.quote:Op woensdag 27 februari 2013 21:10 schreef JK het volgende:
[..]
En hoe vaak doen ze het niet dan?![]()
Ik heb al een CMS website draaien (al moet ik er nog mee verder) en ik begin net met PHP, dus daar valt genoeg leuks mee te doen.
1 | <!DOCTYPE html> |
Gewoon in een texteditor, gok ik.quote:Op woensdag 27 februari 2013 21:30 schreef JK het volgende:
Misschien is het idd wel tegen dovemansoren gericht.![]()
Waar maak jij dan je pagina's in?
Het is de enige manier om een fatsoenlijke website te maken. Echt waar.quote:Op woensdag 27 februari 2013 21:34 schreef JK het volgende:
Moet er niet aan denken alles in een texteditor te doen...
Het voornaamste probleem is dat je site nog steeds niet erg semantisch van opzet is. Dat je geen frames meer gebruikt helpt wel wat, maar Google snapt er nog steeds niet echt veel van als alles in divs en uls zit met klassenamen als "style1" of "cssmenu".quote:Op woensdag 27 februari 2013 21:51 schreef JK het volgende:
Ik mag hopen dat met deze includes en zonder het ondetect script de site beter vindbaar is, ondanks dat het op z'n boerenfluitjes is in de ogen van een pro.
Ja. Maar waar je nu mee bezig bent is juist alles behalve de content.quote:Maar in een CMS kan je toch ook meteen je content schrijven?
Een CMS heeft niets te maken met hoe je site eruit ziet. Een CMS beheert de content. Verder niks.quote:Op woensdag 27 februari 2013 22:01 schreef JK het volgende:
En een CMS is leuk, maar niet als je site er hetzelfde uit ziet als al die andere honderden sites. Kan je weer je eigen template gaan proberen te maken...
Eerder kwam ik met bovenstaande vraag, uiteindelijk heb ik wat code gevonden die goed lijkt te werken;quote:Op dinsdag 26 februari 2013 12:24 schreef webbyplus het volgende:
Hallo, zie bijgaande tabel mappen;
[ afbeelding ]
Nu wil ik in alfabetische volgorde van mapname een boomstructuur opbouwen waarbij wordt ingesprongen met 5 x spatie per niveau.
ID --> Unieke naam
Mapname --> Omschrijving
Parentmap --> Geeft aan welke ID de parent is van deze map
Haschildren --> Geeft aan of de betreffende ID children heeft
Level --> Geeft aan op welk niveau de map zich bevind
Dit met de wetenschap dat het aantal niveau's theoretisch gezien tot 20 zou kunnen uitlopen.
De uitvoer zou er obv deze tabel zo uitzien;
----- school
---------- AV1
--------------- kjhkj
---------- AV2
---------- AV3
---------- jkl
---------- mno
---------- pqr
----- werk
---------- def
--------------- test
---------- ghi
---------- stu
---------- vwx
---------- yz
Iemand zin in deze uitdaging?
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 | <?php include ("database/connect.php"); $result = mysql_query("SELECT * FROM maps;", $db); include ("database/disconnect.php"); $mijnarray = array(); $teller = 0; while (list($id, $mapname, $parentmap) = mysql_fetch_row($result)) { $mijnarray[$teller]["id"] = $id; $mijnarray[$teller]["map"] = $mapname; $mijnarray[$teller]["parent"] = $parentmap; $teller = $teller + 1; } function generatePageTree($datas, $parent = 0){ $tree = '<ul>'; for($i=0, $ni=count($datas); $i < $ni; $i++){ if($datas[$i]['parent'] == $parent){ $tree .= '<li>'; $tree .= $datas[$i]['map']; $tree .= generatePageTree($datas, $datas[$i]['id'], $depth+1); $tree .= '</li>'; } } $tree .= '</ul>'; return $tree; } echo(generatePageTree($mijnarray)); ?> |
Niet om je een boel werk te bezorgen, maar kijk eens naar het sql adjacency list model.quote:Op donderdag 28 februari 2013 14:18 schreef webbyplus het volgende:
En heeft iemand nog andere opmerkingen?
1 2 3 4 5 6 7 | SELECT a.`first_name` , a.`last_name` , b.`age` FROM ( `atable` a ) LEFT JOIN `btable` b ON a.`id` = b.`id` ORDER BY `rating` DESC LIMIT 10 |
Toevallig kwam iemand waaraan ik het eerst vroeg ook met hetzelfde antwoord. Helaas wordt de query er niet significant sneller van. Ik kan me niet voorstellen dat deze query echt 3 seconden nodig heeft.quote:
Type: int(2), bedoel je dat?quote:
Geprobeerd, maar geen effect helaas.quote:Op donderdag 28 februari 2013 22:22 schreef ursel het volgende:
Zit mobiel, dus kan niet testen. Maar kan het omdat je bij rating niet de table meegeeft?
Epic, die command kende ik nog niet.quote:Op vrijdag 1 maart 2013 00:43 schreef KomtTijd... het volgende:
ff explain gebruiken, heeft mij ook geholpen een tijdje geleden toen ik met een baggertrage query zat
Welk merk site is het?quote:Op vrijdag 1 maart 2013 15:42 schreef Chandler het volgende:
Heb ik weer wat, krijg ik opeens op een site die ik lokaal host een foutmelding van google maps... key invalid... probeer ik die aan te passen (gebruik http://site/ als domein voor de site) blijft google zeggen dat het allemaal fout isiemand een idee waar ik dit goed kan instellen? ook gebruik maken van 127.0.0.1 werkt helaas niet
Als je Google Maps Api v3 gebruikt is een key niet verplicht: https://developers.google.com/maps/signup?hl=nlquote:Op vrijdag 1 maart 2013 15:42 schreef Chandler het volgende:
Heb ik weer wat, krijg ik opeens op een site die ik lokaal host een foutmelding van google maps... key invalid... probeer ik die aan te passen (gebruik http://site/ als domein voor de site) blijft google zeggen dat het allemaal fout isiemand een idee waar ik dit goed kan instellen? ook gebruik maken van 127.0.0.1 werkt helaas niet
Advanced -> Configuration -> Editor Display -> Code Folding -> Enable show/hide lines and code foldingquote:Op donderdag 7 maart 2013 09:07 schreef Cue_ het volgende:
Iemand hier ervaring met UltraEdit (Studio)? Ben namelijk op zoek naar een instelling.
Bij If / Then / else statements en loops, verwacht ik zo'n +-je in de kantlijn. Zodat je hem kan collapsen of expanden. Maar nu ik nieuwe versie heb is dat weg. Iemand enig idee welke instelling dat precies is?
Herkent hij SQL dan wel als SQL? (View -> View as (Highlighting File Type))quote:Op donderdag 7 maart 2013 09:21 schreef Cue_ het volgende:
Studio heeft ongeveer dezelfde configuratie.. dus is wel een optie.
Vreemde is dat die gewoon aanstaat (uitzetten werkt ook niet) stom ding
Ow lijkt enkel niet te werken in .sql files. in php wel. Ik gebruik die editor juist voor .sql
Hiervoor had ik dan ook gewoon UE (geen studio).
Het verbaast mij ook, ben er sinds kort mee bezig.quote:Op donderdag 7 maart 2013 16:37 schreef boem-dikkie het volgende:
Wat werkt CodeIgniter makkelijk trouwens. Dacht probeer het even uit en die slogan over een small footprint vind ik wel terecht.
serieus?quote:Op vrijdag 8 maart 2013 09:02 schreef Crutch het volgende:
[..]
Het verbaast mij ook, ben er sinds kort mee bezig.
Toch vind ik het nog wel wat traag, maar dat is met al die MVC-modellen zo.
Gewoon een eenvoudige webshop, niet anders dan anders.quote:Op vrijdag 8 maart 2013 10:26 schreef stefanhaan het volgende:
[..]
serieus?
Wat voor iets heb je er dan mee gemaakt? Heb zelf eigenlijk weinig gemerkt van dat het ooit traag was.
Apartquote:Op vrijdag 8 maart 2013 10:30 schreef Crutch het volgende:
[..]
Gewoon een eenvoudige webshop, niet anders dan anders.
Maar ook wel andere dingen geprobeerd, merkbaar verschil hoor.
1 2 3 4 5 | SELECT DATE(`catches`.`datetime`), COUNT(`catches`.`id`) FROM `catches` GROUP BY DATE(`catches`.`datetime`) ORDER BY `datetime` DESC |
1 2 | SELECT COUNT( DATE( `catches`.`datetime` ) ) FROM `catches` |
God, je hebt gelijk en vriendelijk bedankt kan weer lekker verder spelen!quote:Op zaterdag 9 maart 2013 12:38 schreef KomtTijd... het volgende:
SELECT COUNT(DISTINCT(DATE()))
zoiets denk ik.
Moet je eens naar Laravel 3 en Laravel 4 kijkenquote:Op donderdag 7 maart 2013 16:37 schreef boem-dikkie het volgende:
Wat werkt CodeIgniter makkelijk trouwens. Dacht probeer het even uit en die slogan over een small footprint vind ik wel terecht.
Je zou cookies of localstorage kunnen overwegen, maar persoonlijk zou ik het lekker in de sessie houden.quote:Op zondag 10 maart 2013 14:00 schreef pascal08 het volgende:
Zijn sessie variabelen hier de enige optie?
1 2 3 4 5 6 | <?php include 'variabele.php'; echo "Dit is variabele1: " . $variabele1 . "."<br/>; echo "Dit is variabele1 maar dan keer 2: " . $variabele2 . "."; ?> |
1 2 3 4 | <?php $variabele1 = 15; $variabele2 = $variabele1 * 2; ?> |
quote:Op woensdag 13 maart 2013 20:29 schreef kievitsboom het volgende:
Hallo, kan iemand mij vertellen wat ik fout doe?
1 | "."<br/>; |
1 | ".<br/>"; |
Daar zat ik dus ook net aan te denken. Hoe zet ik dat aan? Of moet dat bij de host?quote:Op woensdag 13 maart 2013 20:33 schreef KomtTijd... het volgende:
Wat je fout doet is dat je error-reporting uit hebt staan
1 2 3 | <?php include('variabele.php'); ?> |
Nee, include is een language construct en mag dus zonder haakjes worden gebruikt.quote:Op donderdag 14 maart 2013 11:48 schreef Devolution het volgende:
Oh enne, include is een functie dus die moet je zo aanroepen:
[ code verwijderd ]
In jouw code ben je de haakjes vergeten.
1 2 3 4 5 | <?php $starttime = new DateTime('2013-03-07T08:58:32.125'); $endtime = new DateTime('2013-03-07T08:58:41.437'); $duration = $starttime->diff($endtime)->format("%Y-%m-%d %H:%i:%s.%u"); echo $duration; // output: 00-0-0 00:0:9.%u |
diff() geeft een DateInterval en die heeft een eigen format().quote:Op donderdag 14 maart 2013 16:03 schreef KomtTijd... het volgende:
Kan iemand dit verklaren? Ik heb een server met PHP5.3.10
[ code verwijderd ]
Ik wil microsecondes als output, niet %u.
Volgens de docs zou dat vanaf PHP5.2.2 moeten werken: http://www.php.net/manual/en/function.date.php
-edit-
inmiddels 3 verschillende servers (allemaal 5.3.*) geprobeerd, allemaal niet werken.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php // item toevoegen aan winkelwagentje if (isset($_POST['order'])){ if (isset ($_SESSION['cart'][$_POST['order']])) { $_SESSION['cart'][$_POST['order']]++; }else { $_SESSION['cart'][$_POST['order']] = 1; } setcookie("newCartContent","1",time() + 1400,'/'); header('location: '.$_SERVER['REQUEST_URI']); } ?> |
Ik zou na die header() een exit() doen zodat je zeker weet dat er niet nog meer output gegenereerd wordt. En als dat het niet oplost, vraag ik me af of die header wel gezet wordt in Chrome.quote:Op donderdag 14 maart 2013 19:47 schreef Swetsenegger het volgende:
Vreemd probleem...
[ code verwijderd ]
Waarom submit Chrome bij een refresh nogmaals mijn POST data?
Ja, want ik heb het cookie na de submit. En die zou ik niet hebben als de pagina niet geredirect wordt.quote:Op donderdag 14 maart 2013 20:09 schreef Light het volgende:
[..]
Ik zou na die header() een exit() doen zodat je zeker weet dat er niet nog meer output gegenereerd wordt. En als dat het niet oplost, vraag ik me af of die header wel gezet wordt in Chrome.
Ik heb hier eerder iets over gelezen, ik kan het alleen zo snel niet terugvinden. Was geloof ik inderdaad een bug in chrome die je dacht ik kon oplossen door een unieke variabele mee te geven aan de url voor de redirect.quote:Op donderdag 14 maart 2013 19:47 schreef Swetsenegger het volgende:
Vreemd probleem...
[ code verwijderd ]
Waarom submit Chrome bij een refresh nogmaals mijn POST data?
Die vond ik ook, maar dat was versie 20. Ik heb chrome 25.quote:Op donderdag 14 maart 2013 20:17 schreef Rockfire het volgende:
[..]
Ik heb hier eerder iets over gelezen, ik kan het alleen zo snel niet terugvinden. Was geloof ik inderdaad een bug in chrome die je dacht ik kon oplossen door een unieke variabele mee te geven aan de url voor de redirect.
Beetje vaag wat ik zeg, maar ik zal zo nog even kijken of ik het ergens terug kan vinden
Misschien is de bug nog niet gefixt? Heb je het geprobeerd met een unieke variabele?quote:Op donderdag 14 maart 2013 20:18 schreef Swetsenegger het volgende:
[..]
Die vond ik ook, maar dat was versie 20. Ik heb chrome 25.
Je moet geen unieke variabele mee gaan geven maar timings. Maar dat is een berg gezeik als workaroundquote:Op donderdag 14 maart 2013 20:19 schreef Rockfire het volgende:
[..]
Misschien is de bug nog niet gefixt? Heb je het geprobeerd met een unieke variabele?
UPDATE table SET title='';quote:Op vrijdag 15 maart 2013 08:23 schreef Berend. het volgende:
Ik heb een database vol met forum gegevens. Ik wil nu graag 1 veld helemaal leeg maken (forum titles). Weet iemand hoe ik dit snel kan doen? De rest van de database moet intact blijven.
Geen idee, maar ik weet dat er wat dispuut is over of dat er na een redirect wel of niet de POST-status behouden moet worden.quote:Op donderdag 14 maart 2013 19:47 schreef Swetsenegger het volgende:
Vreemd probleem...
[ code verwijderd ]
Waarom submit Chrome bij een refresh nogmaals mijn POST data?
1 | header('location: '.$_SERVER['REQUEST_URI'], true, 301); |
Als ik in de headers kijk heeft hij een POST met 302 en een GET met 200. Die POST zou hij helemaal niet meer moeten hebben. Met dit stukje code heb ik een POST met 301 en een GET met 200quote:Op vrijdag 15 maart 2013 09:20 schreef rekenwonder het volgende:
[..]
Geen idee, maar ik weet dat er wat dispuut is over of dat er na een redirect wel of niet de POST-status behouden moet worden.
Werkt het wel correct als je een statuscode meegeeft?
[ code verwijderd ]
Dan wel 302, 303. Ik weet niet of je dit in productie wil gebruiken, maar ik ben wel nieuwsgierig of het werkt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /* Heujh, een comment */ options { ding = "ding"; nummertje = 1253; # ander soort comment suboptions { iets = "iets anders"; // en nog een comment! }; }; meeropties { optie = "bla"; }; |
én php kan INI bestanden parsen!quote:Op zaterdag 16 maart 2013 08:23 schreef mstx het volgende:
Waarom zou je het wiel opnieuw willen uitvinden? Voor deze structuur zijn talloze bestaande oplossingen zoals JSON, XML, PHP array etc.
eentje,quote:Op zaterdag 16 maart 2013 13:37 schreef Chandler het volgende:
Praten we over duizenden config files? of maar 1tje? want 1tje kan je met de hand toch wel aanpassen?
Dat kan ook met INIquote:Op zondag 17 maart 2013 22:38 schreef d4v1d het volgende:
[..]
eentje,
maar ik wil juist dat je on the fly dat config file kan aanpassen ergens via een website (achter een login)
Dat is een ander formaat.quote:
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 37 38 39 40 41 42 43 44 | <?php if (isset($argument[2]) && file_exists(BASE_PATH . "/mediabase/pointer_" . $argument[2] . ".png")) { // load pointer source file $pointerSource = imagecreatefrompng(BASE_PATH . "/mediabase/pointer_" . $argument[2] . ".png"); // imagealphablending($pointerSource, true); // create new pointer source with same width/height $pointer = imagecreatetruecolor(imagesx($pointerSource), imagesy($pointerSource)); // save transparant // imagealphablending($pointer, false); // imagesavealpha($pointer, true); // copy 'thumbnail' image into pointer imagecopyresampled($pointer, $im, 5, 5, 0, 0, imagesx($box), imagesy($box), imagesx($box), imagesy($box)); // copy pointer over image imagecopyresampled($pointer, $pointerSource, 0, 0, 0, 0, imagesx($pointerSource), imagesy($pointerSource), imagesx($pointerSource), imagesy($pointerSource)); // create output and display it. header("Content-type: image/png"); imagepng($pointer); exit(); } ?> |
http://php.net/manual/en/function.imagecreatefrompng.phpquote:Op woensdag 20 maart 2013 09:53 schreef Chandler het volgende:
Mensen een vraagje.
Ik heb een pointer die ik wil gebruiken op google maps
[ afbeelding ]
Ik wil in de pointer een afbeelding zetten en dat probeer ik zo te doen;
[ code verwijderd ]
maar wat ik ook probeer, ik krijg het plaatje er niet goed achter terwijl ik de transparantie behoudt..
Haal ik de remarks weg dan krijg ik alleen de pointer te zien zonder plaatje.
Iemand een idee waar ik de fout in ga?
In je eigen voorbeeld heb je zo te zien alleen imagealphablending() geprobeerd.quote:$imgPng = imageCreateFromPng($strImagePath);
imageAlphaBlending($imgPng, true);
imageSaveAlpha($imgPng, true);
Klopt al wordt hij natuurlijk wel na 1x gecachedquote:Op woensdag 20 maart 2013 10:59 schreef boem-dikkie het volgende:
Als het altijd een statisch plaatje is kun je ook gewoon een marker afbeelding toevoegen in de Google Maps API.
Nevermind, zie dat je arguments gebruikt, ik neem aan dat het dan geen statisch plaatje is.
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 37 38 39 40 41 42 43 | <?php $image = imagecreatetruecolor(37, 61); // allocate transparant color $transparant = imagecolorallocate($image, 0, 0, 0); // make the background transparent imagecolortransparent($image, $transparant); $thumb = imagecreatefrompng(BASE_PATH . "/test/image.png"); $frame = imagecreatefrompng(BASE_PATH . "/test/pointer_blauw.png"); //imagealphablending($image, true); //imagesavealpha($image, true); imagecopyresampled($image, $thumb, 5, 6, 0, 0, imagesx($thumb), imagesy($thumb), imagesx($thumb), imagesy($thumb)); imagecopyresampled($image, $frame, 0, 0, 0, 0, imagesx($frame), imagesy($frame), imagesx($frame), imagesy($frame)); header("Content-type: image/png"); imagepng($image); exit(); ?> |
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 | <?php $image = imagecreatefrompng(BASE_PATH . "/test/pointer_blauw.png"); imagesavealpha($image, true); $thumb = imagecreatefrompng(BASE_PATH . "/test/image.png"); $frame = imagecreatefrompng(BASE_PATH . "/test/pointer_blauw.png"); imagecopyresampled($image, $thumb, 5, 6, 0, 0, imagesx($thumb), imagesy($thumb), imagesx($thumb), imagesy($thumb)); imagecopyresampled($image, $frame, 0, 0, 0, 0, imagesx($frame), imagesy($frame), imagesx($frame), imagesy($frame)); header("Content-type: image/png"); imagepng($image); exit(); |
Oplossingen bedenken in bed, 's ochtends meteen proberen en het juist hebben bedacht.quote:Op donderdag 21 maart 2013 07:37 schreef Chandler het volgende:
Oplossing is vrij simpel en dacht ik gisteren aan voordat ik ging slapen... en heb het zelfs onthouden!
[ code verwijderd ]
Door eerst de pointer te laden, daarna het plaatje te plaatsen en daarna weer de pointer er overheen te plakken behoud ik de transparantie en ziet de uitkomst er zo uit:
[ afbeelding ]
Een stuk beter dus. Dus was de oplossing best wel simpel!
Ja erg leuk is dat, wil dat wel vaker hebbenquote:Op donderdag 21 maart 2013 08:53 schreef boem-dikkie het volgende:
[..]
Oplossingen bedenken in bed, 's ochtends meteen proberen en het juist hebben bedacht.
Dat heb ik ook super vaak.
Oplossingen zijn vaak simpel maar omdat je vast zit in je kader kom je er vaak niet op als je blijft staren naar het probleem. Even wat anders doen of wat aan je hoofd hebben door bijvoorbeeld in bed te gaan liggen kan dan opeens helpen bij het verzinnen van de oplossing.quote:Op donderdag 21 maart 2013 10:03 schreef Chandler het volgende:
[..]
Ja erg leuk is dat, wil dat wel vaker hebbenen dan is de 'oplossing' ook nog zo simpel....
1 2 3 4 5 6 | <?php for ($i = 0; $i < 10; $i++) { shell_exec("/usr/bin/php -f /path/to/script.php {$i} & > /dev/null 2>&1"); } ?> |
Ik ben het dan meestal vergetenquote:Op donderdag 21 maart 2013 08:53 schreef boem-dikkie het volgende:
[..]
Oplossingen bedenken in bed, 's ochtends meteen proberen en het juist hebben bedacht.
Dat heb ik ook super vaak.
Yep, overkomt mij ook vaak maar dit keer bleef het stekenquote:
Multithreading in phpquote:Op donderdag 21 maart 2013 16:38 schreef KomtTijd... het volgende:
Weet iemand nog een goeie truc om een script/functie meerdere keren tegelijk aan te roepen?
ik dacht de volgende slinkse truc te gebruiken maar helaas gaan ze toch om de beurt.
[ code verwijderd ]
Dat lees ik ook overal, vandaar dat het me een goed idee leek om gewoon meerdere processen te starten via shel_exec, maar blijkbaar wacht die toch op een response ofzo.quote:Op donderdag 21 maart 2013 17:49 schreef Chandler het volgende:
Te gelijk? lijkt me niet echt mogelijk... (denk ik)
PHP is in principe 1 grote smerige hack. Maar ach, het werkt.quote:Op donderdag 21 maart 2013 19:21 schreef StM het volgende:
Weet trouwens wel waar je aan begintThreading in PHP is 1 grote smerige hack en door het copy on write systeem van de fork dat op de achtergrond zit ga je hele rare ellende krijgen met je resources zoals database connecties. Als je eenmaal doorhebt hoe het werkt, dan werkt het opzich wel prima.
Ik ben zo'n gek die het ooit zelf geïmplementeerd heeft, voordat die mooie class er was.
Mijn PHP wel ja.quote:Op donderdag 21 maart 2013 19:26 schreef Juicyhil het volgende:
[..]
PHP is in principe 1 grote smerige hack. Maar ach, het werkt.
quote:Op donderdag 21 maart 2013 19:35 schreef StM het volgende:
Hmm deze extensie kende ik nog niet: http://www.php.net/manual/en/book.pthreads.php
Er is dus min of meer echte threading support, als het ook echt werkt
Volgens mij moet je nog een & helemaal aan het einde van je commando zetten.quote:Op donderdag 21 maart 2013 16:38 schreef KomtTijd... het volgende:
Weet iemand nog een goeie truc om een script/functie meerdere keren tegelijk aan te roepen?
ik dacht de volgende slinkse truc te gebruiken maar helaas gaan ze toch om de beurt.
[ code verwijderd ]
Even een testcase gemaakt, die stond inderdaad verkeerd!quote:Op donderdag 21 maart 2013 22:17 schreef papernote het volgende:
[..]
Volgens mij moet je nog een & helemaal aan het einde van je commando zetten.
1 2 3 | <?php $string = preg_replace("/\/\/(.+?)\/\//i", "<em>\\1</em>", $string); ?> |
/(?!http\:)\/\/(.+?)\/\//iquote:Op vrijdag 22 maart 2013 00:14 schreef Tijn het volgende:
Kan iemand me helpen met een reguliere expressie? Ik ben daar zo'n kneus in
Ik heb nu dit:
[ code verwijderd ]
Dat werkt om bijvoorbeeld "ja hallo //dit staat schuin// en dit niet" om te zetten in "ja hallo <em>dit staat schuin</em> en dit niet".
So far, so good.
Maar nu wil ik graag dat "://" (in bv "http://") niet wordt gematched. Hoe pas ik de regex aan zodat 'ie niet afgaat wanneer er een : voor // staat?
Dit werkt niet. //test// wordt nu niet <em>test</em>.quote:
Ik ga wel even Googlen op "tokenizer", ik ken die term niet.quote:Op vrijdag 22 maart 2013 00:21 schreef StM het volgende:
[^:] is voor alles behalve een :
Maar dit ga je nooit fatsoenlijk oplossen zonder tokenizer...
1 | $result = preg_replace('%(?<!:)//(.+?)//%', '<em>\1</em>', $subject); |
Wat voor dingen zitten er dan precies op het zelfde coördinaat? Bedoel je zoiets als dat een marker van een postkantoor op het zelfde coördinaat zit als de marker van een supermarkt omdat de supermarkt ook een postnl servicepunt is? Dan zou je het toch moeten gaan groeperen ofzo. Een aparte marker en als je er op klikt een infowindow met wat er in zit. Maar ligt natuurlijk aan de situatie.quote:Op vrijdag 22 maart 2013 09:12 schreef Chandler het volgende:
Vraagje; stel je hebt meerdere markers bij google maps op dezelfde positie maar wil deze toch graag allemaal klikbaar maken (en dat wil niet als ze precies boven elkaar zitten). Hoe zouden jullie dit oplossen?
ik gebruik altijd regexbuddy (not so legal edition, 30$ voor een paar regexen en alleen updates naar minor versies gaat mij echt te ver) maar dit is ook wel een mooiequote:Op vrijdag 22 maart 2013 08:53 schreef boem-dikkie het volgende:
Ik vind kloten met regex altijd wel leuk.
http://regexpal.com/
Met bovenstaande website kun je gewoon blijven proberen tot je gewenst resultaat hebt.
Nee, het zijn markers waarbij ik link aan v.is va ngsten (sorry voor de puntjes en spatiesquote:Op vrijdag 22 maart 2013 09:54 schreef mstx het volgende:
[..]
Wat voor dingen zitten er dan precies op het zelfde coördinaat? Bedoel je zoiets als dat een marker van een postkantoor op het zelfde coördinaat zit als de marker van een supermarkt omdat de supermarkt ook een postnl servicepunt is? Dan zou je het toch moeten gaan groeperen ofzo. Een aparte marker en als je er op klikt een infowindow met wat er in zit. Maar ligt natuurlijk aan de situatie.
Het mooiste zou dan denk ik zijn om ze te groeperen en het aantal items in de marker te weergeven.quote:Op vrijdag 22 maart 2013 10:04 schreef Chandler het volgende:
[..]
Nee, het zijn markers waarbij ik link aan v.is va ngsten (sorry voor de puntjes en spaties) en op een bepaalde lokatie kunnen er dus meerdere va ngsten zijn. Deze staan dus allemaal op elkaar... Al zou ik ze liever een paar px naast elkaar willen zien oid?
Maar de markers bevatten nu een foto van de 'va ngst', groeperen zou mooi zijn maar niet echt mooi zeg maarquote:Op vrijdag 22 maart 2013 10:05 schreef mstx het volgende:
[..]
Het mooiste zou dan denk ik zijn om ze te groeperen en het aantal items in de marker te weergeven.
Als de locatie niet op de meter nauwkeurig hoeft zou ik ze dan willekeurig iets opschuiven. Bijhouden in een array welke coordinaten al bestaan en zodra je een dubbele hebt (binnen x graden) een paar graden opschuiven in random richting.quote:Op vrijdag 22 maart 2013 10:06 schreef Chandler het volgende:
[..]
Maar de markers bevatten nu een foto van de 'va ngst', groeperen zou mooi zijn maar niet echt mooi zeg maaren kan ik ook niet verwijzen naar een specifieke va ngst.
Ik was ff aan't googlen en er zijn meerdere mensen die daar mee problemen hadden, maar er is een oplossing zoals deze: http://jawj.github.com/OverlappingMarkerSpiderfier/demo.html ziet er erg leuk uit!quote:Op vrijdag 22 maart 2013 10:12 schreef mstx het volgende:
[..]
Als de locatie niet op de meter nauwkeurig hoeft zou ik ze dan willekeurig iets opschuiven. Bijhouden in een array welke coordinaten al bestaan en zodra je een dubbele hebt (binnen x graden) een paar graden opschuiven in random richting.
Ook een mooie: http://www.debuggex.com/quote:Op vrijdag 22 maart 2013 08:53 schreef boem-dikkie het volgende:
Ik vind kloten met regex altijd wel leuk.
http://regexpal.com/
Met bovenstaande website kun je gewoon blijven proberen tot je gewenst resultaat hebt.
Wat ik ooit eens heb gedaan voor mijn werk was alle volgende markers1 of 2 pixels naar rechts en naar boven verplaatsen. Visueel krijg je dan een stapeltje markers.quote:Op vrijdag 22 maart 2013 10:12 schreef Chandler het volgende:
[..]
Ik was ff aan't googlen en er zijn meerdere mensen die daar mee problemen hadden, maar er is een oplossing zoals deze: http://jawj.github.com/OverlappingMarkerSpiderfier/demo.html ziet er erg leuk uit!nu maar eens kijken hoe ik deze simpel kan verwerken in mijn script.
Maar dan zijn ze alsnog amper klikbaar, heb je het voorbeeld gezien wat ik poste? dat is toch een geweldige oplossing?!quote:Op vrijdag 22 maart 2013 10:22 schreef Rockfire het volgende:
[..]
Wat ik ooit eens heb gedaan voor mijn werk was alle volgende markers1 of 2 pixels naar rechts en naar boven verplaatsen. Visueel krijg je dan een stapeltje markers.
Ze stonden zo ver uit elkaar dat ze goed klikbaar waren. Het voorbeeld is inderdaad wel een mooie oplossing, hoewel ik het irritant vind dat de groep weer naar elkaar toe gaat zodra je één marker aanklikt. Als je van een groep van 5 markers dan alle marker wilt bekijken moet je 10 keer klikkenquote:Op vrijdag 22 maart 2013 10:55 schreef Chandler het volgende:
[..]
Maar dan zijn ze alsnog amper klikbaar, heb je het voorbeeld gezien wat ik poste? dat is toch een geweldige oplossing?!
Meestal kun je wel inzoomen waardoor het stapeltje markers wat verder uit elkaar staat. Die oplossing die je postte is best redelijk alleen dat hij de hele tijd weer terug in een groep staat is irritant, dan zoom ik liever één keer in.quote:Op vrijdag 22 maart 2013 10:55 schreef Chandler het volgende:
[..]
Maar dan zijn ze alsnog amper klikbaar, heb je het voorbeeld gezien wat ik poste? dat is toch een geweldige oplossing?!
Klopt, want je kunt zoomen tot je een ons weegt maar de markers blijven elkaar overlappen...quote:Op vrijdag 22 maart 2013 11:29 schreef boem-dikkie het volgende:
[..]
Meestal kun je wel inzoomen waardoor het stapeltje markers wat verder uit elkaar staat. Die oplossing die je postte is best redelijk alleen dat hij de hele tijd weer terug in een groep staat is irritant, dan zoom ik liever één keer in.
In het door mij gegeven voorbeeld worden de markers al in de database gegroepeerd. Je zou dan moeten gaan groeperen op basis van provincie / gemeente / wijk / buurt. Het CBS bied downloads waaruit je kunt halen welk gebied bij welke gemeente / wijk / buurt hoor: http://www.cbs.nl/nl-NL/m(...)013-2012-b68-pub.htmquote:Op vrijdag 22 maart 2013 11:14 schreef Chandler het volgende:
Mijn markers zijn op basis van provincie, dus als je van provincie veranderd krijg je de markers van de gegeven provincie te zien.
En om eerlijk te zijn gaat mijn kennis niet zo ver dat ik een voorbeeld zoals aangeven in jou post voor elkaar krijg...al is het natuurlijk wel een prachtige oplossing maar niet voor het specifieke probleem waar ik nu mee stoei..
Maar als je goed leesbare documentatie weet voor het laden van markers op basis van het zichtbare gedeelte van google maps houd ik mij aanbevolen!
Je moet een eventlistener gebruiken. In de broncode van de bomenkaart zie je daar wel een implementatie van:quote:Op vrijdag 22 maart 2013 11:50 schreef Chandler het volgende:
Daar vrees ik dan ook voor, zat al te zoeken of ik op basis van zoom gegevens de markers zou kunnen inladen via json, maar snap nog niet helemaal (en is ook amper te vinden tot zover) hoe ik de zoom_changed functie kan gebruiken om de markers opnieuw te laden binnen de 'bounds' van de map..
1 | GEvent.addListener(gmap, "zoomend", function(o,n) { myself._zoomEnd(o,n); }) |
1 2 3 4 | google.maps.event.addListener(map, 'zoom_changed', function() { BoundBasedMarkers(map) }); |
1 2 | <input type="number" name="aandacht"> <input type="number" name="teamwork"> |
1 2 3 | <?php $sql = "INSERT INTO status (aandacht, teamwork) VALUES ('".mysql_real_escape_string($_POST['aandacht'])."','".mysql_real_escape_string($_POST['teamwork'])."')"; ?> |
Ik heb ze eventueel als GEOJSON, ooit voor ander project gebruikt:quote:Op vrijdag 22 maart 2013 11:35 schreef Rockfire het volgende:
[..]
In het door mij gegeven voorbeeld worden de markers al in de database gegroepeerd. Je zou dan moeten gaan groeperen op basis van provincie / gemeente / wijk / buurt. Het CBS bied downloads waaruit je kunt halen welk gebied bij welke gemeente / wijk / buurt hoor: http://www.cbs.nl/nl-NL/m(...)013-2012-b68-pub.htm
Maar ik vrees dat dat dan toch wat te ingewikkeld voor je wordt
Je hebt waarschijnlijk een default staan, om dat na te checken moet je evenquote:Op vrijdag 22 maart 2013 17:30 schreef googlie1978 het volgende:
ik heb een formulier gemaakt, daar kan ik gegevens invullen, maar niet alle gegevens zijn verplicht.
deze gegevens haal ik door middel van post uit het formulier en plaats deze in de database
even een kort voorbeeldje van de code, zodat het duidelijker wordt.
[ code verwijderd ]
de sql code is:
[ code verwijderd ]
als ik gegevens in de velden invoer slaat ie deze ook netjes op, alleen als ik ze leeg laat zet ie er 0 neer
1 | SHOW CREATE TABLE status |
Een lege string is wat anders dan null hequote:Op vrijdag 22 maart 2013 17:46 schreef d4v1d het volgende:
[..]
Wat moet ie er dan neerzetten.. een lege string?
Zie mijn editquote:Op vrijdag 22 maart 2013 17:48 schreef raptorix het volgende:
[..]
Een lege string is wat anders dan null he
Als het een nummeriek veld is zet je er dus null in.
Dat komt omdat je type = number gebruikt voor je input. Je hebt geen min en max ingevoerd, dus dan begint hij gewoon bij 0.quote:Op vrijdag 22 maart 2013 17:30 schreef googlie1978 het volgende:
ik heb een formulier gemaakt, daar kan ik gegevens invullen, maar niet alle gegevens zijn verplicht.
deze gegevens haal ik door middel van post uit het formulier en plaats deze in de database
even een kort voorbeeldje van de code, zodat het duidelijker wordt.
[ code verwijderd ]
de sql code is:
[ code verwijderd ]
als ik gegevens in de velden invoer slaat ie deze ook netjes op, alleen als ik ze leeg laat zet ie er 0 neer
Ik heb ze al in een database staanquote:Op vrijdag 22 maart 2013 17:43 schreef raptorix het volgende:
[..]
Ik heb ze eventueel als GEOJSON, ooit voor ander project gebruikt:
http://dl.dropbox.com/u/3055426/gemeente.json
En voor buurtinformatie: https://www.dropbox.com/s/runes0e56x1wr82/cbsgeojson.zip
Heb het ook maar gedownloaded, altijd handigquote:Op vrijdag 22 maart 2013 18:12 schreef Rockfire het volgende:
[..]
Ik heb ze al in een database staanEn al gebruikt voor diverse google maps applicaties
(die bomenkaart van Utrecht heb ik ooit ook aan meegeholpen)
Oki, overigens kun je volgens mij wel testen of er meerdere markers over elkaar heen staan, tegenwoordig gaat het volgens mij vrij makkelijk, maar weet nog wel toen ik jaar of 10 funda bouwde dat dat een grote uitdaging was, maar weet niet of we eigenlijk toen al google maps gebruikten.quote:Op vrijdag 22 maart 2013 18:12 schreef Rockfire het volgende:
[..]
Ik heb ze al in een database staanEn al gebruikt voor diverse google maps applicaties
(die bomenkaart van Utrecht heb ik ooit ook aan meegeholpen)
Ja, kijk vooral ook naar 3DJS.org daar staan paar leuke heatmap samples in combinatie met geojson, ik zal maandag even mijn sample op basis van deze jaart neergooienquote:Op zaterdag 23 maart 2013 07:05 schreef Chandler het volgende:
[..]
Heb het ook maar gedownloaded, altijd handigvandaag is mijn huiswerk infowindow ajax
@Swets: wat is de content van je htaccess file?
Leuk!quote:Op zaterdag 23 maart 2013 08:04 schreef raptorix het volgende:
[..]
Ja, kijk vooral ook naar 3DJS.org daar staan paar leuke heatmap samples in combinatie met geojson, ik zal maandag even mijn sample op basis van deze jaart neergooien
1 2 3 4 5 | <div class="infobox-wrapper"> <div id="infobox"> <div id="infobox-content">loading information.</dov> </div> </div> |
1 2 3 4 5 6 7 8 9 10 11 | google.maps.event.addListener(marker, 'click', function() { $.ajax({ url: '/test/ajax?name=' + name + '&id=' + id, success: function(data) { //infoWindow.setContent(data); $('#infobox').innerHTML = data; infoWindow.open(map, marker); } }); }); |
quote:Op zaterdag 23 maart 2013 08:13 schreef raptorix het volgende:
Volgens mij kan je gewoon $('#infobox').text(data); gebruiken, anders even googlen op jquery replace text within div.
1 | $('#infobox-content').text(data); |
1 | $('#infobox-content').innerHTML = data; |
Options +Multiviewsquote:Op zaterdag 23 maart 2013 07:05 schreef Chandler het volgende:
[..]
Heb het ook maar gedownloaded, altijd handigvandaag is mijn huiswerk infowindow ajax
@Swets: wat is de content van je htaccess file?
That's all?quote:
Ben ik bekend meequote:
Gewoon in phpquote:Op zaterdag 23 maart 2013 08:28 schreef Chandler het volgende:
[..]
That's all?
En hoe pars je de URL gegevens? ook handig
Dat leek mij logisch, maar hoe? want dan neem ik aan dat daar een fout in zitquote:
Huh? heb je mijn post wel gelezen? Ik heb een testpagina gemaakt met alleenquote:Op zaterdag 23 maart 2013 08:38 schreef Chandler het volgende:
[..]
Dat leek mij logisch, maar hoe? want dan neem ik aan dat daar een fout in zit
1 2 3 | <?php echo "dit is een php test"; ?> |
1 2 3 | <?php $detailId=end(explode( '/', substr($_SERVER['PATH_INFO'], 1))); ?> |
Ja, ik wist niet dat dat ook .htaccess kon!quote:Op zaterdag 23 maart 2013 08:43 schreef Chandler het volgende:
Misschien een regeltje toevoegen in je htacces dat hij ook .php pakt? misschien dat de oude INI van je server dat wel deed en de nieuwe niet?
Zelf rewrite ik alles via index.php en zoek dan naar het desbetreffende bestandje in mijn site (soort mvc)
quote:Op zaterdag 23 maart 2013 08:47 schreef Swetsenegger het volgende:
[..]
Ja, ik wist niet dat dat ook .htaccess kon!
AddType application/x-httpd-php .php toegevoegd in .htaccess en het werkt
Wel om uit te vinden wat er nu mis was. Zeker met een weinig toeschietelijke hoster die vanaf moment 1 heeft geroepen "zit in je script" Terwijl ik kon aantonen dat de server een 404 terug gooide en we dus helemaal niet in mijn script kwamen.quote:Op zaterdag 23 maart 2013 09:02 schreef Chandler het volgende:
[..]gefeli en zo moeilijk was het niet dus
LOL het is sowieso raar dat die PHP scripts niet geladen werden, dat is tegenwoordig de norm toch?quote:Op zaterdag 23 maart 2013 09:11 schreef Swetsenegger het volgende:
[..]
Wel om uit te vinden wat er nu mis was. Zeker met een weinig toeschietelijke hoster die vanaf moment 1 heeft geroepen "zit in je script" Terwijl ik kon aantonen dat de server een 404 terug gooide en we dus helemaal niet in mijn script kwamen.
Ze werden wel geladen als je .php er achter zet.quote:Op zaterdag 23 maart 2013 09:13 schreef Chandler het volgende:
[..]
LOL het is sowieso raar dat die PHP scripts niet geladen werden, dat is tegenwoordig de norm toch?
Helaas werkt onderstaand voorbeeld ook nietquote:Op zaterdag 23 maart 2013 08:16 schreef Chandler het volgende:
[..]
[ code verwijderd ]
werkt totaal niet (geeft ook geen error trouwens)
[ code verwijderd ]
plaatst tekst maar vervangt styling
Op zich weet ik hoe ik tekst kan aanpassen $('#div').innerHTML maar dat werkt op een of andere manier niet samen met de styling en als ik de content niet aanpas zie ik een leuke box met 'loading....'
1 | infoWindow.setContent('<div class="infobox-wrapper"><div id="infobox">' + data + '</div></div>'); |
Kan ook nog veiliger zijn.quote:Op zaterdag 23 maart 2013 09:15 schreef Chandler het volgende:
Duidelijkal zou ik het toch via een centraal script aanroepen
maar goed, wie ben ik hé!
Die </dov> moet </div> zijn, neem ik aan.quote:Op zaterdag 23 maart 2013 08:09 schreef Chandler het volgende:
[..]
Leuk!kan er altijd van leren!
zal 3djs ook eens een bezoekje geven.
Even iets anders, wil nu mijn infowindow anders maken, dus custom.
[ code verwijderd ]
Bovenstaand is mijn html code voor mijn custom infowindow!werkt op zich goed, echter wil ik de content laten vervangen door en ajax aanroep (iets wat half werkt).
Hoe ziet je css eruit? Ik denk dat re geen styling zit op #infobox maar alleen op de div daarin (#infobox-content). Die verdwijnt, dus gaat de styling ook weg.quote:[ code verwijderd ]
Normaal zou ik via infoWindow.setContent(data) de content kunnen vervangen maar helaas vervang ik daarmee ook de styling van de divs en dat wil ik niet, vandaar dat ik dacht middels $('#infobox').innerHTML de content aan te passen maar dat werkt niet. Heeft iemand hier een oplossing voor? google bracht mij namelijk niet veel nuttigs
Ja die dov moet een div zijn lol maar die had ik reeds gevonden en aangepast.quote:Op zaterdag 23 maart 2013 10:12 schreef Light het volgende:
[..]
Die </dov> moet </div> zijn, neem ik aan.
[..]
Hoe ziet je css eruit? Ik denk dat re geen styling zit op #infobox maar alleen op de div daarin (#infobox-content). Die verdwijnt, dus gaat de styling ook weg.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | .infobox-wrapper { display:none; } #infobox { border:2px solid black; margin-top: 8px; background:#333; color:#FFF; font-family:Arial, Helvetica, sans-serif; font-size:12px; padding: .5em 1em; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; text-shadow:0 -1px #000000; -webkit-box-shadow: 0 0 8px #000; box-shadow: 0 0 8px #000; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | infoWindow = new InfoBox({ content: $("#infobox"), disableAutoPan: false, maxWidth: 150, pixelOffset: new google.maps.Size(-140, 0), zIndex: null, boxStyle: { background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/tipbox.gif') no-repeat", opacity: 0.75, width: "280px" }, closeBoxMargin: "12px 4px 2px 2px", closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif", infoBoxClearance: new google.maps.Size(1, 1) }); |
1 | jQuery("#infobox") |
1 | $("#infobox") |
Gewoon 2 queries van maken.quote:Op dinsdag 26 maart 2013 10:45 schreef KomtTijd... het volgende:
Weet iemand of er een manier bestaat om in de tabel zelf op te slaan of een record uitgelezen is met een bepaalde query?
bijv. SELECT * FROM table AND UPDATE table SET uitgelezen = 1
of moet ik daar 2 queries van maken?
Houdt de geest jong.quote:Op dinsdag 26 maart 2013 11:30 schreef KomtTijd... het volgende:
ja ik zit weer te moeilijk te denken voor een simpel probleem geloof ik.
Toevallig gisteren even naar gegoogled. Ben nog niet gelijk geneigd om het te gaan installeren maar zo te zien is het ook op de licentie na weinig anders...quote:Op dinsdag 26 maart 2013 15:47 schreef ursel het volgende:
Mensen hier al met MariaDb gespeeld?
Dit naar aanleiding van onderstaande bericht.
http://webwereld.nl/nieuw(...)n-massaal-mysql.html
Even snel geinstalleerd en database geimporteerd. Applicatie werkt verder gewoon goed naar behoren.quote:Op dinsdag 26 maart 2013 16:24 schreef KomtTijd... het volgende:
[..]
Toevallig gisteren even naar gegoogled. Ben nog niet gelijk geneigd om het te gaan installeren maar zo te zien is het ook op de licentie na weinig anders...
Daarmee ben je er nietquote:Op dinsdag 26 maart 2013 19:25 schreef KomtTijd... het volgende:
beter maak je een aparte tabel met alle mogelijke eigenschappen en een koppeltabel om deze aan dieren te koppelen.
SELECT DISTINCT dier_id FROM koppeltabel WHERE eigenschap_id IN (values van chekboxes)
Dat maakt het ook zo lastig denk ik. Een array in de database opslaan zou het makkelijkste zijn.quote:Op dinsdag 26 maart 2013 19:32 schreef Rockfire het volgende:
[..]
Daarmee ben je er nietHij wil namelijk alleen de dieren waarvan alle eigenschappen geselecteerd zijn. Dus als één van de eigenschappen niet is geselecteerd (in zijn voorbeeld "geeft kopjes" mag hij niet in de lijst voorkomen, dat is bij jou nu wel het geval.
Moet ik nu dus een 3e tabel aanmaken, die de dierentabel koppelt met de kenmerkentabel?quote:Op dinsdag 26 maart 2013 19:40 schreef Rockfire het volgende:
SELECT DISTINCT dier_id FROM koppeltabel WHERE dier_id NOT IN ( SELECT DISTINCT dier_id FROM koppeltabel WHERE eigenschap_id NOT IN ( values van checkboxes ) )
Ik was doorgegaan op het voorbeeld van KomtTijd, het moet niet, maar in jouw voorbeeld kun je nu een eigenschap niet aan meerdere dieren koppelen. Als je het niet doet moet je in mijn query "koppeltabel" vervangen door "eigenschappentabel"quote:Op dinsdag 26 maart 2013 19:50 schreef pascal08 het volgende:
[..]
Moet ik nu dus een 3e tabel aanmaken, die de dierentabel koppelt met de kenmerkentabel?
Wat zou beter zijn voor de prestaties?quote:Op dinsdag 26 maart 2013 19:52 schreef Rockfire het volgende:
[..]
Ik was doorgegaan op het voorbeeld van KomtTijd, het moet niet, maar in jouw voorbeeld kun je nu een eigenschap niet aan meerdere dieren koppelen. Als je het niet doet moet je in mijn query "koppeltabel" vervangen door "eigenschappentabel"
Oké, dan ga ik het eerst proberen zonder koppeltabel aangezien in die 2 tabellen al heb. Mocht dat niet lukken, dan kom ik wel weer terug.quote:Op dinsdag 26 maart 2013 22:21 schreef KomtTijd... het volgende:
Eh. Ik denk dat prestaties op dit moment wel het laatste zijn waar je je druk om hoeft te maken.
Ja.quote:Op dinsdag 26 maart 2013 22:39 schreef KomtTijd... het volgende:
Ik snap niet helemaal hoe je dat voor je ziet. Je wilt meerdere eigenschappen kunnen koppelen aan meerdere dieren?
je hebt nu twee keer de eigenschap "heeft een staart" in de tabel staan. Stel je hebt straks 100 dieren met een staart in de database staan en je wilt de beschrijving van de eigenschap aanpassen. Dan zul je dus 100 records in de database moeten aanpassen, terwijl met een koppeltabel je slechts één record zou hoeven aan te passen.quote:Op dinsdag 26 maart 2013 22:14 schreef pascal08 het volgende:
Ik zie eigenlijk het nut niet van die koppeltabel, want in de eigenschappen tabel kan ik toch ook in meerdere regels aangeven dat een dier meerdere kenmerken heeft?
quote:Op dinsdag 26 maart 2013 22:57 schreef KomtTijd... het volgende:
Dan heb je die koppeltabel dus gewoon nodig.
That makes sense.quote:Op dinsdag 26 maart 2013 22:58 schreef Rockfire het volgende:
[..]
je hebt nu twee keer de eigenschap "heeft een staart" in de tabel staan. Stel je hebt straks 100 dieren met een staart in de database staan en je wilt de beschrijving van de eigenschap aanpassen. Dan zul je dus 100 records in de database moeten aanpassen, terwijl met een koppeltabel je slechts één record zou hoeven aan te passen.
En dan heb ik het nog niet gehad over de mogelijkheid die ontstaat dat je per ongeluk dezelfde eigenschap bij een ander dier anders omschrijft...
quote:Op dinsdag 26 maart 2013 22:57 schreef KomtTijd... het volgende:
Dan heb je die koppeltabel dus gewoon nodig.
Ik ga even de tabellen omgooien.quote:Op dinsdag 26 maart 2013 22:58 schreef Rockfire het volgende:
[..]
je hebt nu twee keer de eigenschap "heeft een staart" in de tabel staan. Stel je hebt straks 100 dieren met een staart in de database staan en je wilt de beschrijving van de eigenschap aanpassen. Dan zul je dus 100 records in de database moeten aanpassen, terwijl met een koppeltabel je slechts één record zou hoeven aan te passen.
En dan heb ik het nog niet gehad over de mogelijkheid die ontstaat dat je per ongeluk dezelfde eigenschap bij een ander dier anders omschrijft...
Inderdaadquote:Op dinsdag 26 maart 2013 23:03 schreef pascal08 het volgende:
[..]
[..]
Ik ga even de tabellen omgooien.
Ik moet dus hebben:
Dierentabel:
Dier_ID-----------Dier
1--------------------Kat
2--------------------Hond
3--------------------Vis
Eigenschappentabel:
Eigenschap------------Eigenschap_ID
Miauwt-------------------1
Jaagt op muizen-----2
Geeft kopjes-----------3
Heeft een staart------4
Blaft-----------------------5
Zwemt--------------------6
Koppeltabel:
Eigenschap_ID----------Dier_ID
1------------------------------1
2------------------------------1
3------------------------------1
4------------------------------1
4------------------------------2
5------------------------------2
6------------------------------3
Op deze manier blijven de omschrijvingen van de eigenschappen veel consequenter. Dat is toch wat jullie bedoelen? Ook denk ik dat een database het fijner zal vinden om te zoeken naar getalletjes in plaats van strings.
Kan wel een array in de db opslaan.quote:Op dinsdag 26 maart 2013 19:37 schreef pascal08 het volgende:
[..]
Dat maakt het ook zo lastig denk ik. Een array in de database opslaan zou het makkelijkste zijn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $url = 'https://app.halowaypoint.com/en-us/Halo4/Ninja%20pgl/wargames/match-b5bae280fab08275'; $agent= $_SERVER['HTTP_USER_AGENT'] ; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_URL,$url); $result=curl_exec($ch); echo '<xmp>'.$result.'</xmp>'; ?> |
Idd word gelijk door geredirect naar een login. @Darkomen ff wat meer werk in stoppen door o.a. een cookie jar te gebruiken of zoiets als selenium of phantomjs te gebruiken.quote:Op maandag 1 april 2013 15:34 schreef rekenwonder het volgende:
Wat krijg je dan terug? En wat verwacht je terug te krijgen? Log je wel eerst in?
1 2 | curl_setopt($ch, CURLOPT_STDERR, fopen('php://output', 'w+')); curl_setopt($ch, CURLOPT_VERBOSE, true); |
1 | curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); |
Een stat pagina.quote:Op maandag 1 april 2013 15:34 schreef rekenwonder het volgende:
Wat krijg je dan terug? En wat verwacht je terug te krijgen? Log je wel eerst in?
1 2 3 4 5 6 7 | SELECT `plaatjes`.* FROM `plaatjes` LEFT JOIN `views` ON `views`.`category` = `plaatjes`.`category` WHERE YEAR(`views`.`date`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND MONTH(`views`.`date`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) GROUP BY `views`.`category`, `plaatjes`.`category` ORDER BY `views`.`date` DESC |
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 | CREATE TABLE IF NOT EXISTS `plaatjes` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `category` varchar(32) CHARACTER SET latin1 NOT NULL, `filetype` tinyint(3) unsigned NOT NULL, `filename` varchar(40) CHARACTER SET latin1 NOT NULL, `filesize` int(10) unsigned NOT NULL, `height` int(10) unsigned NOT NULL, `width` int(10) unsigned NOT NULL, `animated` enum('j','n') CHARACTER SET latin1 NOT NULL DEFAULT 'n', `views` int(10) unsigned NOT NULL, `lastview` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `category` (`category`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC AUTO_INCREMENT=28350 ; -- -------------------------------------------------------- CREATE TABLE IF NOT EXISTS `views` ( `category` varchar(32) NOT NULL, `date` date NOT NULL, `tstamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, `views` int(10) unsigned NOT NULL, `thumbs` int(10) unsigned NOT NULL, `searches` int(10) unsigned NOT NULL, UNIQUE KEY `category` (`category`,`date`), KEY `date` (`date`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
1 2 | 1,SIMPLE,views,index,category,category,37,NULL,35317,Using where; Using index; Using temporary; Using f... 1,SIMPLE,plaatjes,ref,category,category,34,nvt****_anipl.views.category,17 |
Ik sla dagelijks views op basis van de categorieën. In deze views sla ik de datum, timestamp, categorie naam, aantal thumb views, image views en zoek opdrachten op. Deze wil ik gebruiken in combinatie met het plaatjes tabel. Eerst wil ik bv de beste categorieen van de laatste dag/maand opvragen en daarbij wil ik het plaatjes tabel gebruiken om een plaatje (liefst, het best bekeken plaatje) uit te kunnen lezen.quote:Op dinsdag 2 april 2013 20:56 schreef Light het volgende:
Wat probeer je precies te bereiken met je query?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT plaatjes.* FROM ( SELECT MAX(plaatjes.id) AS id, plaatjes.category, a.date_viewed FROM ( SELECT category, MAX(date) AS date_viewed FROM views WHERE date BETWEEN date_sub(CURDATE(), INTERVAL '1' month) and CURDATE() GROUP BY category ) a LEFT JOIN plaatjes ON a.category = plaatjes.category GROUP BY plaatjes.category, a.date_viewed ) b LEFT JOIN plaatjes ON b.id = plaatjes.id ORDER BY b.date_viewed DESC LIMIT 5 |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | <?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function getRecordsByDate(&$db, $search = '1 DAY') { $sql = "SELECT SQL_NO_CACHE category, MAX(date) AS date_viewed FROM views WHERE date BETWEEN date_sub(CURDATE(), INTERVAL " . $search . ") and CURDATE() AND `category` != '' GROUP BY category LIMIT 5"; $db->q($sql); if ($db->rows() > 0) { $l = array(); foreach ($db->fetch() AS $k=>$v) { $l[$v['category']] = $v['date_viewed']; } if (count($l) > 0) { $sql = "SELECT `plaatjes`.* FROM `plaatjes` WHERE `category` IN ('" . implode("','", array_keys($l)) . "') GROUP BY `plaatjes`.`category` ORDER BY `plaatjes`.`views` DESC"; $db->q($sql); return $db->fetch(); } } return array(); } function getRecordsByDateOld(&$db, $search = '1 DAY') { $sql = 'SELECT SQL_NO_CACHE plaatjes.* FROM ( SELECT MAX(plaatjes.id) AS id, plaatjes.category, a.date_viewed FROM ( SELECT category, MAX(date) AS date_viewed FROM views WHERE date BETWEEN date_sub(CURDATE(), INTERVAL ' . $search . ') and CURDATE() AND `category` != \'\' GROUP BY category ) a LEFT JOIN plaatjes ON a.category = plaatjes.category GROUP BY plaatjes.category, a.date_viewed ) b LEFT JOIN plaatjes ON b.id = plaatjes.id ORDER BY b.date_viewed DESC LIMIT 5'; $db->q($sql); if ($db->rows() > 0) { return $db->fetch(); } else { return array(); } } echo '1 day old function<br />'; $time_start = microtime_float(); for ($x = 0; $x < 100; $x++) { getRecordsByDateOld($db, '1 DAY'); } echo round(microtime_float() - $time_start, 2) . " secs<br />"; echo '1 day new function<br />'; $time_start = microtime_float(); for ($x = 0; $x < 100; $x++) { getRecordsByDate($db, '1 DAY'); } echo round(microtime_float() - $time_start, 2) . " secs<br />"; echo '1 month old function<br />'; $time_start = microtime_float(); for ($x = 0; $x < 100; $x++) { getRecordsByDateOld($db, '1 MONTH'); } echo round(microtime_float() - $time_start, 2) . " secs<br />"; echo '1 month new function<br />'; $time_start = microtime_float(); for ($x = 0; $x < 100; $x++) { getRecordsByDate($db, '1 MONTH'); } echo round(microtime_float() - $time_start, 2) . " secs<br />"; |
1 2 3 4 5 6 7 8 | 1 day old function 4.63 secs 1 day new function 4.51 secs 1 month old function 33.67 secs 1 month new function 0.19 secs |
1 2 3 4 5 6 7 8 | 1 day old function 55.34 secs 1 day new function 0.19 secs 1 month old function 79.06 secs 1 month new function 0.19 secs |
Omdat je dan pas betrouwbare statistieken hebtquote:Op woensdag 3 april 2013 21:28 schreef Chandler het volgende:
why 10.000? dan is mijn systeem nog wel ff bezig...
quote:Op woensdag 3 april 2013 21:28 schreef Chandler het volgende:
why 10.000? dan is mijn systeem nog wel ff bezig...
100 keer vond ik anders toch aardig wat, zijn dus in totaal 400 queries geweestquote:Op woensdag 3 april 2013 21:33 schreef Rockfire het volgende:
Omdat je dan pas betrouwbare statistieken hebtEén keer een query uitvoeren zegt nog heel weinig over de gemiddelde tijd.
Ik vind 0.19 seconden niet bijzonder snel maar die andere functies wel erg traag. Volgens mij mis je her en der wat indexen.quote:Op woensdag 3 april 2013 21:21 schreef Chandler het volgende:
Ik heb een testje gedaan, en wat blijkt 2 queries zijn sneller
[ code verwijderd ]
uitkomst:
[ code verwijderd ]
met name de maand functie is extreem snel.. waarom? geen idee... nu eens ff online testen.
Online versie vertelt nog een mooier verhaal.
[ code verwijderd ]
In mijn lokale versie zijn er nog geen statistieken van 'vandaag' / 'gisteren' online wel.. Toch raar want vele mensen zeggen dat 1 query altijd sneller is dan 2........
Vele mensen zeggen dat je nooit vooraf moet optimaliseren om datsoort (veelal verkeerde) aannames te voorkomen.quote:Op woensdag 3 april 2013 21:21 schreef Chandler het volgende:
Ik heb een testje gedaan, en wat blijkt 2 queries zijn sneller
Toch raar want vele mensen zeggen dat 1 query altijd sneller is dan 2........
Juist, maar dit was een oplossing voor de vorige query zie code (verbetering van 10 seconden naar 1,5)quote:Op woensdag 3 april 2013 23:37 schreef StM het volgende:
Dat getRecordsByDateOld VEEL langzamer is, is niet gek want je sorteert daar op een virtuele column die het resultaat is van een aggregation in een subquery. Hij kan daar dus nooit een index op toepassen. Sowieso geven de query's ook geen identieke resultaten waardoor je nooit eerlijk kan vergelijken.
1 2 3 4 5 6 7 | SELECT `plaatjes`.* FROM `plaatjes` LEFT JOIN `views` ON `views`.`category` = `plaatjes`.`category` WHERE YEAR(`views`.`date`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND MONTH(`views`.`date`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) GROUP BY `views`.`category`, `plaatjes`.`category` ORDER BY `views`.`date` DESC |
Correct, maar in sommige gevallen is het juist wel handig anders kun je heel veel werk dubbel / over gaan doen...quote:Op donderdag 4 april 2013 00:47 schreef KomtTijd... het volgende:
Vele mensen zeggen dat je nooit vooraf moet optimaliseren om datsoort (veelal verkeerde) aannames te voorkomen.
Waar is de filesort op? Zou je een volledige explain hier willen plaatsen? (Of heb ik die gemist...)quote:Op donderdag 4 april 2013 10:19 schreef Chandler het volgende:
[..]
Juist, maar dit was een oplossing voor de vorige query zie code (verbetering van 10 seconden naar 1,5)
[ code verwijderd ]
Het heeft gezorgd voor een versnelling maar ook niet veel zeg maar, bovenstaande query zou goed moeten werken aangezien de indexes goed staan maar werkt toch met een filesorten de 2 losse queries zijn vele malen sneller dus!
[..]
Correct, maar in sommige gevallen is het juist wel handig anders kun je heel veel werk dubbel / over gaan doen...
1 2 | 1,SIMPLE,views,index,category,category,37,NULL,35317,Using where; Using index; Using temporary; Using f... 1,SIMPLE,plaatjes,ref,category,category,34,nvt****_anipl.views.category,17 |
1 | <?phpPHP include "menu.txt" ; ?> |
Dit is juist een goede manier. Met includes kan je dan (zoals jij al doet gok ik) het menu op elke pagina includen en hem hetzelfde laten zijn..quote:Op vrijdag 5 april 2013 14:48 schreef gerrit098 het volgende:
Ik ben momenteel een website aan het schrijven in HTML(5). nu wilde ik graag dingen uit .txt gaan "includen"
na wat zoek en pruts werk ben ik er al achter dat je als je je html bestand .php noemt gewoon blijft werken en dus
[ code verwijderd ]
naar behoren werkt.
mijn vraag is blijft dit in de toekomst ook handig of zitten hier ook nadelen aan in de toekomst???
1 | <?php include 'menu.txt'; ?> |
Hoe bedoel je dat? Of dat in toekomstige versies van PHP zal blijven werken? Daar hoef je je geen zorgen om te maken.quote:Op vrijdag 5 april 2013 14:48 schreef gerrit098 het volgende:
mijn vraag is blijft dit in de toekomst ook handig of zitten hier ook nadelen aan in de toekomst???
Ik doelde er meer op of alles wat je in .html gebruikt ook blijft werken zodra je bestand .php gaat noemen.quote:Op vrijdag 5 april 2013 15:36 schreef KomtTijd... het volgende:
[..]
Hoe bedoel je dat? Of dat in toekomstige versies van PHP zal blijven werken? Daar hoef je je geen zorgen om te maken.
Of dat je zo een praktisch bruikbare website zit te maken? Als je dat wilt kun je beter gewoon een CMS installeren.
[offtopic] probeer CMS made simple.quote:Op vrijdag 5 april 2013 17:51 schreef gerrit098 het volgende:
[..]
Ik doelde er meer op of alles wat je in .html gebruikt ook blijft werken zodra je bestand .php gaat noemen.
maar blijkbaar zal dat geen problemen geven.
Ik heb al "veel" gelezen over CMS maar ik kom dan altijd uit op wp joomla of drupal. en dan krijg ik het niet voor mekaar om een "mooie" site te maken.
wat ik het (denk ik) het liefste heb is een site waar txt bestanden geinclude zijn zodat iemand anders makkelijk de tekst kan aanpassen....
daar ben ik nu dat ook mee bezig en probeer nu een php script te vinden die dit online doen kan, mischien dat iemand hier daar tips over heeft????
Verder wil ik een activiteiten kalander maken waar activiteiten die al geweest zijn automatisch verdwijnen.
iemand daar tips voor???
[offtopic] of probeer wordpressquote:Op vrijdag 5 april 2013 18:06 schreef KomtTijd... het volgende:
[..]
[offtopic] probeer CMS made simple.
Ik heb zelf ook zo'n CMS gebouwd voor een aantal klanten. Als je een CMS wilt maken waarbij klanten hun website aan kunnen passen zoals je in Word werkt (dus met knopjes voor dikgedrukte tekst, onderstreepte tekst, verschillende tekstkleuren enzo) dan moet je naast PHP ook Javascript leren. Met PHP maak je dan gebruik van echo en file_get_contents (niet include, ik leg zo uit waarom), een PHP script dat BB code omzet in HTML (dus dat [ b]tekst[/b ] <b>tekst</b> wordt), een loginscript met cookies en natuurlijk een PHP script dat de tekstbestanden aanpast (fopen, fwrite, fclose).quote:Op vrijdag 5 april 2013 17:51 schreef gerrit098 het volgende:
[..]
Ik doelde er meer op of alles wat je in .html gebruikt ook blijft werken zodra je bestand .php gaat noemen.
maar blijkbaar zal dat geen problemen geven.
Ik heb al "veel" gelezen over CMS maar ik kom dan altijd uit op wp joomla of drupal. en dan krijg ik het niet voor mekaar om een "mooie" site te maken.
wat ik het (denk ik) het liefste heb is een site waar txt bestanden geinclude zijn zodat iemand anders makkelijk de tekst kan aanpassen....
daar ben ik nu dat ook mee bezig en probeer nu een php script te vinden die dit online doen kan, mischien dat iemand hier daar tips over heeft????
Ik had die 100x gemist. 0.0019 is best goed.quote:Op woensdag 3 april 2013 23:24 schreef Chandler het volgende:
De indexen kun je inzien in posts hierboven, daar moet volgens mij weinig mis mee zijn.
0.19 voor 100x deze query uitvoeren? oftewel 0.0019? best snel toch?
1 2 3 4 | <?php setlocale(LC_ALL, 'nl_NL'); var_dump(strtotime('zaterdag 6 april 2013')); ?> |
Naar mijn weten is setlocale() voor output, niet voor input.quote:Op zaterdag 6 april 2013 15:18 schreef d4v1d het volgende:
[ code verwijderd ]
Waarom geeft dat FALSE terug en niet een timestamp? Dacht dat dat zo ging..
Dat dacht ik dus ookquote:Op zaterdag 6 april 2013 14:07 schreef Light het volgende:
[..]
Ik had die 100x gemist. 0.0019 is best goed.
Overigens vind ik je microtime_float() functie wat onnodig. Gebruik gewoon mircotime(true) als je de tijd als float wilt.
Dat is het geheim van de smid he.quote:Op zondag 7 april 2013 19:21 schreef Chandler het volgende:
Iemand die bekend is met de techniek achter de facebook timeline en hoe dat in zijn werk gaat? eventueel tutorial? zou daar graag het fijne van willen weten.
Gewoon zelf opzetten zo lastig is dat toch niet?quote:Op zondag 7 april 2013 19:21 schreef Chandler het volgende:
Iemand die bekend is met de techniek achter de facebook timeline en hoe dat in zijn werk gaat? eventueel tutorial? zou daar graag het fijne van willen weten.
Ik wil eerst meer informatie voordat ik ga scriptenquote:Op maandag 8 april 2013 10:45 schreef WyriHaximus het volgende:
Gewoon zelf opzetten zo lastig is dat toch niet?Desnoods bouw je een mediator model waar je de timeline uit trekt en daarna alle related entries opvraagt?
Het gaat mij voornamelijk om het combineren van gegevens (foto's, video's, agenda punten, evenmenten etc etc etc) en die dan met 'reacties' laten weergeven.quote:Op maandag 8 april 2013 10:52 schreef Boze_Appel het volgende:
Even een tutorial van één van de grootste website ter wereld.![]()
Ze zetten trouwens praktisch al hun php om in hiphop-php.
Verder gebruiken ze een combo van push & pulls. De wall zelf gaat via pulls en de chatbalk via pushes bijvoorbeeld. De techniek is allemaal niet zo ingewikkeld, het is meer de enorme hoeveelheid data die het hele Facebook-gebeuren wat ingewikkeld maakt.
Je hoeft de architectuur van Facebook natuurlijk niet te gebruiken om dit voor elkaar te krijgen. Als je alles op 1 server wil draaien, kom je met een paar simpele tabellen voor content en reacties al een heel eind. Wat Facebook voor speciaal maakt is de schaal en het feit dat ze vele datacenters over de wereld hebben verspreid die gegevens met elkaar syncen. Maar voor een bescheiden aantal bezoekers heb je zo'n setup helemaal niet nodig natuurlijk.quote:Op maandag 8 april 2013 11:20 schreef Chandler het volgende:
[..]
Het gaat mij voornamelijk om het combineren van gegevens (foto's, video's, agenda punten, evenmenten etc etc etc) en die dan met 'reacties' laten weergeven.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | CREATE TEMPORARY TABLE tmp engine=memory SELECT record_id FROM data LEFT JOIN assets ON data.asset_id = assets.asset_id WHERE uitgelezen = 0 AND assets.active = 1 ORDER BY record_id LIMIT 1000; SELECT * FROM data WHERE record_id IN (SELECT record_id FROM tmp) ; UPDATE data SET uitgelezen = 1 WHERE record_id IN (SELECT record_id FROM tmp) ; DROP TEMPORARY TABLE IF EXISTS tmp; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | CREATE TEMPORARY TABLE tmp engine=memory SELECT <<alle benodigde records>>, 1 AS in_tmp FROM data LEFT JOIN assets ON data.asset_id = assets.asset_id WHERE uitgelezen = 0 AND assets.active = 1 ORDER BY record_id LIMIT 1000; SELECT * FROM tmp ; UPDATE data LEFT JOIN tmp ON data.record_id = tmp.record_id SET uitgelezen = 1 WHERE in_tmp = 1 ; DROP TEMPORARY TABLE IF EXISTS tmp; |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |