Sja, wat staat er allemaal op zo'n pagina?quote:Op woensdag 6 april 2011 19:40 schreef Light het volgende:
[..]
Ik zou me dan afvragen waarom die pagina 28 queries nodig heeft.
Wat/hoe ga je cachen?quote:Op woensdag 6 april 2011 20:00 schreef Chandler het volgende:
Met zoveel queries kun je net zo goed beginnen aan JOOMLAmaar serieus, ga lekker cachen, zekers als pagina's toch niet zoveel veranderen!
quote:Op woensdag 6 april 2011 20:00 schreef Chandler het volgende:
Met zoveel queries kun je net zo goed beginnen aan JOOMLAmaar serieus, ga lekker cachen, zekers als pagina's toch niet zoveel veranderen!
Met een simpeler template.quote:Generated in 0.164538 seconds by CMS Made Simple using 15 SQL queries and 7292592 bytes of memory (peak memory usage was 7911208)
Beetje laat, maar heb nu de code hierquote:
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 | $opt = array ( 'address' => urlencode($list['streetname'] . ' ' . $list['streetnumber'] . ' ' . $list['province'] . ' ' . $list['state'] . ' Netherlands') , 'output' => 'xml' ); $url = 'http://maps.google.com/maps/geo?q='.$opt['address'].'&output='.$opt['output'].'&oe=utf8&key='.$key; $dom = new DOMDocument(); $dom->load($url); $xpath = new DomXPath($dom); $xpath->registerNamespace('ge', 'http://earth.google.com/kml/2.0'); $statusCode = $xpath->query('//ge:Status/ge:code'); if ($statusCode->item(0)->nodeValue == '200') { $pointStr = $xpath->query('//ge:coordinates'); $point = explode(",", $pointStr->item(0)->nodeValue); $lat = $point[1]; $lon = $point[0]; echo '<pre>'; echo 'Lat: '.$lat.', Lon: '.$lon; echo '</pre>'; $pointStr = $xpath->query('//ge:Placemark/ge:AddressDetails/ge:Country/ge:AdministrativeArea/ge:AdministrativeAreaName'); print_r($pointStr->item(0)->nodeValue); echo '<hr>'; } print_r($dom->saveXML()); die("einde"); |
Ik ben ook benieuwd, was net op zoek naar een simpele manier om die bestanden te parsenquote:Op donderdag 7 april 2011 09:13 schreef webbyplus het volgende:
Korte vraag; is het mogelijk middels PHP om van een outlook message bestand een aantal zaken te lezen, zoals; titel, body, afzender, etc.?
Ben benieuwd
Hangt een beetje af hoe zo'n bestand is opgebouwd, als het een vrij simpele structuur is als XML ja. Maar waarschijnlijk zal het iets ingewikkelder zijn dan dat.quote:Op donderdag 7 april 2011 09:13 schreef webbyplus het volgende:
Korte vraag; is het mogelijk middels PHP om van een outlook message bestand een aantal zaken te lezen, zoals; titel, body, afzender, etc.?
Ben benieuwd
Hmm, ik denk aan de content waarbij je alleen een controle hoeft toe te passen op wanneer de content is aangepast, dat kan al vele queries schelen, zekers als het meer om views gaat dan om updates!quote:
Top!quote:Op woensdag 6 april 2011 23:43 schreef GlowMouse het volgende:
echo $xpath->evaluate('count(//ge:Placemark)');
echo $xpath->evaluate('count(//ge:Placemark/ge:AddressDetails)');
je ziet het foutgaan
waarom xpath erbij halen? http://www.ibm.com/developerworks/library/os-xmldomphp/
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 | $opt = array ( 'address' => urlencode($list['streetname'] . ' ' . $list['streetnumber'] . ' ' . $list['province'] . ' ' . $list['state'] . ' Netherlands') , 'output' => 'xml' ); $url = 'http://maps.google.com/maps/geo?q=' . $opt['address'] . '&output=' . $opt['output'] . '&oe=utf8&key=' . $key; $doc = new DOMDocument(); $doc->load($url); if ($doc->getElementsByTagName('code')->item(0)->nodeValue == '200') { list($lon, $lat) = explode(",", $doc->getElementsByTagName('coordinates')->item(0)->nodeValue); echo $lon . ' - ' . $lat . '<br />'; echo ' in ' . $doc->getElementsByTagName('SubAdministrativeAreaName')->item(0)->nodeValue . ' en provincie ' . $doc->getElementsByTagName('AdministrativeAreaName')->item(0)->nodeValue; } die("einde"); |
1 2 3 4 5 | | id | naam | datum | | 0 | naam1 | 01-01-11 | | 1 | naam1 | 21-01-11 | | 2 | naam1 | 11-01-11 | | 3 | naam1 | 04-01-11 | |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Niet altijd serieus
quote:Op donderdag 7 april 2011 12:32 schreef themole het volgende:
Sorteren op datum - huidige datum een idee. En dan het absolute getal gebruiken anders is 1 dag in de toekomst verder weg dan twee dagen geleden.Het ligt iets ingewikkelder...SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
1
2
3
4
5
6
7
8
9
10
11
12
13$query = "SELECT
AVG(cijfer),
vakken.vaknaam,
cijfers.cijfer
FROM
cijfers, vakken
GROUP BY
cijfers.vak_id
ORDER BY cijfers.datum DESC
";
Ik wil zegmaar dat er een gemiddeld getal uitkomt daarna het vak en daarna het cijfer met de meest recente datum..
Dat worden twee queries.zie hieronderquote:Op donderdag 7 april 2011 12:37 schreef -Datdus- het volgende:
[..]
Het ligt iets ingewikkelder...
[ code verwijderd ]
Ik wil zegmaar dat er een gemiddeld getal uitkomt daarna het vak en daarna het cijfer met de meest recente datum..
kan ook met een aggregate functie inderdaadquote:Op donderdag 7 april 2011 12:50 schreef KomtTijd... het volgende:
[ code verwijderd ]
Zoiets misschien?
Dat dacht ik ook maar als ik het verander naar bijv: vakken.vaknaam dan laat hij de cijfers weer niet goed zien.quote:
quote:Op donderdag 7 april 2011 20:35 schreef PiRANiA het volgende:
Ik zoek een standalone colorpicker. Wie heeft een tip?
quote:
1 | $query = "select avg(cijfer), vaknaam from vakken left join cijfer on vakken.id = cijfers.vak_id group by vaknaam"; |
Heet die tweede tabel cijfer of cijfers? Bij de join ga je uit van het eerste, bij de ON erna van het tweede. Dat gaat niet werken.quote:Op vrijdag 8 april 2011 09:44 schreef -Datdus- het volgende:
[..]
[ code verwijderd ]
Ik krijgt trouwens te zien undefined index 'cijfers'.
Waarom helemaal met een SUM? Je kunt toch gewoon sorteren op 'flighttime'?quote:Op zondag 10 april 2011 23:10 schreef KomtTijd... het volgende:
Ik heb een tabel met: pilot_id, flighttime
Nu wil ik een soort van ranglijst maken, met welke piloot de meeste vlieguren heeft. Dus voor iedere pilot_id moet een SUM(flighttime) uitgevoerd worden, en dan moeten de pilot_id's op volgorde van SUM(flighttime) weergegeven worden...
Schudt iemand zo'n query zo uit zijn mouw?
Waarschijnlijk is het een tabel waar een piloot meerder vlieguren(vluchten) kan maken.quote:Op zondag 10 april 2011 23:11 schreef boem-dikkie het volgende:
[..]
Waarom helemaal met een SUM? Je kunt toch gewoon sorteren op 'flighttime'?
Uit mijn mouw komt dan:quote:Op zondag 10 april 2011 23:10 schreef KomtTijd... het volgende:
Ik heb een tabel met: pilot_id, flighttime
Nu wil ik een soort van ranglijst maken, met welke piloot de meeste vlieguren heeft. Dus voor iedere pilot_id moet een SUM(flighttime) uitgevoerd worden, en dan moeten de pilot_id's op volgorde van SUM(flighttime) weergegeven worden...
Schudt iemand zo'n query zo uit zijn mouw?
1 2 3 4 | SELECT pilot_id, SUM(flighttime) AS sum_flighttime FROM table GROUP BY pilot_id ORDER BY sum_flighttime ASC |
een preg_match in een while of for loop?quote:Op maandag 11 april 2011 15:03 schreef erikkll het volgende:
Vraagje! Ik heb een waardes in een array. Een voorbeeldwaarde is:
Dit is een test [[klantnaam]]
Wat is de makkelijkste manier om alle klantnamen te achterhalen? Ze staan dus altijd in blokhaakjes. Iets van een filtermethode?
ah! Dat lijkt me een goeie. Ga ik mee experimenteren!quote:Op maandag 11 april 2011 15:05 schreef GlowMouse het volgende:
preg_match_all met regexp /\[\[(.*)\]\]/U
Als je gewoon aangeeft welk probleem je ermee hebt, krijg je vast sneller een oplossing dan wanneer je alleen vraagt of iemand er verstand van heeft.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 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <?php error_reporting(0); $map = 'fotoalbum'; $afbeeldingen = array(); $hoogte_klein = 100; $breedte_klein = 150; $hoogte_groot = 400; $breedte_groot = 600; $perpagina = 6; if(isset($_GET['album']) && !empty($_GET['album'])) { $tmp = explode('/',$_GET['album']); if($tmp[0] == $map) { $map = str_replace(array('.', '\\', ':'), '', $_GET['album']); } } if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr'])) { $paginanr = $_GET['paginanr']; }else{ $paginanr = 1; } if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding'])) { $afbeelding = $_GET['afbeelding']; }else{ $afbeelding = NULL; } function thumbnail($afbeelding, $type) { $map = $afbeelding['dirname']; $bestandsnaam = $afbeelding['basename']; list($type, $hoogte, $breedte) = $type; list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam); if(!is_dir($map.'/thumbs/')) { mkdir($map.'/thumbs/', 0777); chmod($map.'/thumbs/', 0777); } if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) { $breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel; }else{ $hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel; } $afbeelding = imagecreatetruecolor($breedte, $hoogte); switch($extensie) { case 1: //gif $afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; case 2: //jpg $afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80); break; case 3: //png $afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam); $background = imagecolorallocate($afbeelding, 0, 0, 0); imagecolortransparent($afbeelding, $background); // make the new temp image all transparent imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel imagesavealpha($afbeelding, true); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; } chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777); return TRUE; } $tmp = NULL; foreach(explode('/',$map) as $tmp2) { echo ' <a href="?pagina=fotoalbum&album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> '; $tmp = $tmp.$tmp2.'/'; } echo '<br><br>'.PHP_EOL; if(!$bestanden = glob($map.'/*.*')) { $bestanden = array(); } foreach($bestanden as $bestand) { $gegevens = getimagesize($bestand); $extensie = $gegevens['mime']; if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png') { $afbeeldingen[] = $bestand; } } $aantalfotos = count($afbeeldingen); if(isset($afbeelding)) { foreach($afbeeldingen as $id => $naam) { if(basename($naam) == $afbeelding) { $fotonr = $id; } } if(isset($fotonr)) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); if($fotonr > 0) { $vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]); echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'"><< Vorige</a>'; }else{ echo '<< Vorige'; } echo ' Foto '.($fotonr +1).' van '.$aantalfotos.' '; if($fotonr < $aantalfotos -1) { $volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]); echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende >></a><br>'; }else{ echo 'Volgende >><br>'.PHP_EOL; } if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot))) { echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<p>Sorry, deze foto bestaat niet!</p>'; } }else{ if(!$mappen = glob($map.'/*', GLOB_ONLYDIR)) { $mappen = array(); } foreach($mappen as $album) { if(basename($album) != 'thumbs') { echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL; } } if($aantalfotos > $perpagina) { if ($paginanr > 1) { echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'"><< Vorige</a>'; }else{ echo '<< Vorige'; } echo ' Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' '; if ($paginanr < ceil(($aantalfotos)/$perpagina)) { echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende >></a><br>'; }else{ echo 'Volgende >><br>'.PHP_EOL; } } for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein))) { echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } } } ?> |
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 | set TABLES; set DAYS; set PERSONS; var location{p in PERSONS, t in TABLES, d in DAYS}, binary; var peoplemeet{p1 in PERSONS, p2 in PERSONS, t in TABLES, d in DAYS}, binary; minimize find_feasible: 1; subject to nevermorethantwiceatsameplace{p in PERSONS, t in TABLES}: sum{d in DAYS} location[p,t,d] <= 2; subject to alwaysatoneplace{p in PERSONS, d in DAYS}: sum{t in TABLES} location[p,t,d] = 1; subject to meeting{p1 in PERSONS, p2 in PERSONS, d in DAYS, t in TABLES : p1<p2}: 2*peoplemeet[p1,p2,t,d] <= location[p1,t,d]+location[p2,t,d]; subject to everybodymeets{p1 in PERSONS, p2 in PERSONS : p1<p2}: sum{t in TABLES, d in DAYS} peoplemeet[p1,p2,t,d] >= 1; subject to maxtablesize{d in DAYS, t in TABLES}: sum{p in PERSONS} location[p,t,d] = 2; solve; for{p in PERSONS} { for{d in DAYS} { for{t in TABLES : location[p,t,d] == 1} { printf "Persoon %s op dag %s aan tafel %s\n", p, d, t; } } } data; set TABLES := 1 2 3 4; set DAYS := 1 2 3 4 5 6 7; set PERSONS := 1 2 3 4 5 6 7 8; end; |
1 | C:\glpk\bin>glpsol.exe --math file.txt |
Ik ben het aan het proberen, hopelijk komt er iets moois uit. Wat is 'even'?quote:Op woensdag 13 april 2011 19:44 schreef GlowMouse het volgende:
Deze post heb ik eerder eens gemaakt voor een vergelijkbaar probleem:
Het model zet je in een tekstbestand (zeg file.txt)
[ code verwijderd ]
Daarna krijg je met dit commando na een tijdje of er een dergelijk eetschema bestaat. Kan even duren overigens
[ code verwijderd ]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |