danku dit werkt perfectquote:Op dinsdag 26 juni 2007 20:02 schreef Geqxon het volgende:
Een nette maar trage manier:
[ code verwijderd ]
In een switch kan je toch default gebruiken?quote:Op dinsdag 26 juni 2007 20:28 schreef Geqxon het volgende:
Dat zou inderdaad erg handig zijn, zoiets had ik laatst in een switch-statement nodig
Zelf werk ik in zulke gevallen met booleans overigens.
Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.quote:Op dinsdag 26 juni 2007 20:39 schreef freiss het volgende:
[..]
In een switch kan je toch default gebruiken?
Ja, ik zag dat ik het verkeerd had gelezenquote:Op dinsdag 26 juni 2007 20:41 schreef Geqxon het volgende:
[..]
Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.
quote:Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $any = false; if (...) { // doe iets $any = true; } else if (...) { // doe iets anders $any = true; } else { // doe iets als de bovenstaande condities allemaal onwaar waren $any = true; } if($any) { // doe iets als minstens één van de bovenstaande condities waar was } ?> |
Maar het werkt wel, als het echt moet.quote:Op woensdag 27 juni 2007 02:16 schreef JeRa het volgende:
[..]
Nee, dat is lelijk, zeker bij veel conditional blocks
functionaliteit > schoonheidquote:Op woensdag 27 juni 2007 02:39 schreef fokME2 het volgende:
[..]
Maar het werkt wel, als het echt moet.![]()
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?quote:Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
[ code verwijderd ]
Keer het dan om:quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $any = true; if (...) { // doe iets } else if (...) { // doe iets anders } else { // doe iets als de bovenstaande condities allemaal onwaar waren $any = false; } if($any) { // doe iets als minstens één van de bovenstaande condities waar was } ?> |
quote:Op dinsdag 26 juni 2007 15:19 schreef JeRa het volgende:
Nu is het duidelijker jawaarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
Goed punt, aangezien hij er vaak over struikelt als je ergens onderop in een niet gebruikt stukje code een punt-komma mist. TVPquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Gevoelsmatig zeg ik dat het niet uitmaakt.... maar onderbouwen kan ik het nietquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Weet niet, ff kijken hoe includes werkenquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Allemaal kleine bestandjes = meer I/O (en dat vraagt veel) = tragerquote:Op woensdag 27 juni 2007 11:58 schreef WyriHaximus het volgende:
[..]
Weet niet, ff kijken hoe includes werken.
Geen idee, maar PHP parsed toch ook de dingen die hij niet 'hoeft' te doen. Als php niet op regel 50 hoeft te zijn, maar daar zit wel een fout, dan krijg je toch een error. Zit die fout echter in je include dan krijg je geen error totdat die file is geïnclude.quote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Ongetwijfeld, maar het gaat me eerder om dit:quote:Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:
[..]
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taalquote:Op woensdag 27 juni 2007 08:21 schreef WyriHaximus het volgende:
[..]
functionaliteit > schoonheidiig zolang de code maar goed leesbaar blijft
Dat is dus mogelijk ja, maar lelijk.quote:[..]
Keer het dan om:
[ code verwijderd ]
Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
Ik hang liever niet te veel op schoonheid, vind het absoluut belangrijk (zeker tegenwoordig hecht ik er veel meer waarde aan dan vroeger). Maar als ik met een kleine hack de functionaliteit kan krijgen die nodig is zie ik daar geen probleem in. Moet niet een gekkenhuis worden want dan word het ook niet lekker meer leesbaar en ga je er alleen maar op achter uit .quote:Op woensdag 27 juni 2007 13:18 schreef JeRa het volgende:
[..]
Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taalhet is dat ik goed bekend ben met PHP en het voor een scripttaal een goede performance heeft tegenover een korte ontwikkelingstijd.
Preciesquote:Op woensdag 27 juni 2007 14:59 schreef JeRa het volgende:
Zodra ik te vieze hacks moet gaan gebruiken om de functionaliteit te verkrijgen die ik nodig heb, ga ik ernstig twijfelen aan het platform dat ik gekozen heb
Is serialize() geen optie? Meer leesmateriaal.quote:Op woensdag 27 juni 2007 15:09 schreef WyriHaximus het volgende:
[..]
Precies.
Zal forearch($this as $key => $value) werken om alle varriables van een class te cachen en later weer op te vragen?
Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.quote:Op woensdag 27 juni 2007 15:12 schreef JeRa het volgende:
[..]
Is serialize() geen optie? Meer leesmateriaal.
Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?quote:Op woensdag 27 juni 2007 16:02 schreef WyriHaximus het volgende:
[..]
Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.
De uitkomst zijn verschillende arrays binnen een class. En de inhoud van die arrays verschilt per pagina + afhankelijk welke rechten de gebruiker heeft. Dus het is een beetje tricky.quote:Op woensdag 27 juni 2007 16:04 schreef JeRa het volgende:
[..]
Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = 'SELECT DISTINCT COUNT(*) As occurrences, id, timestamp, title, content FROM `'.mysql_real_escape_string($table).'` WHERE ('; // alle woorden langs foreach($words as $word) { $sql .= '(`title` LIKE "%'.mysql_real_escape_string($word).'%") OR (`content` LIKE "%'.mysql_real_escape_string($word).'%") OR'; } $sql = substr($sql,0,(strLen($sql)-3)); // de laatste OR eraf $sql .= ') GROUP BY `id` ORDER BY occurrences DESC, `timestamp` DESC'; ?> |
1 2 3 4 5 6 7 8 9 10 11 | As occurrences, id, timestamp, title, content FROM `internal_news` WHERE ( (`title` LIKE "%vrijdag%") OR (`content` LIKE "%vrijdag%") OR (`title` LIKE "%koffie%") OR (`content` LIKE "%koffie%") ) GROUP BY `id` ORDER BY occurrences DESC, `timestamp` DESC |
Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.quote:Op woensdag 27 juni 2007 18:30 schreef JeRa het volgende:
Verder als oplossing kan ik je de fulltext index van MySQL aanradenheb je 80% van de zoekfunctionaliteit al af.
Dat is allemaal vrij goed te tunen dacht ikquote:Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:
[..]
Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.
De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten. En als bijvoorbeeld het woord "vrijdag" in 10 daarvan voorkomt, wordt het niet meer als een relevant woord gezien en krijg je geen resultaten terug als je hierop zoekt. Wat natuurlijk niet de bedoeling is.
Je kunt zoiets proberen:quote:Op donderdag 28 juni 2007 05:20 schreef Siegfried het volgende:
Goed, SQL vraagje.
Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.
Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..
SELECT * FROM '' WHERE datum =
1 |
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?quote:Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:
De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten.
In Java zou je een try/catch/finally doen met if statements in het try gedeelte.quote:Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:
[..]
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
[..]
Keer het dan om:
[ code verwijderd ]
Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
Er komen complete boeken in een record te staan?quote:Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:
[..]
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo?quote:Op donderdag 28 juni 2007 09:15 schreef Geqxon het volgende:
[..]
Er komen complete boeken in een record te staan?
Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.quote:Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:
[..]
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
Hehe, ik gokte maar wat. Maar dan kun je het inderdaad beter per hoofdstuk opslaan.quote:Op donderdag 28 juni 2007 09:17 schreef JeRa het volgende:
[..]
Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo?Tenminste, ik weet niet of het de bedoeling is dat het hele boek gevonden moet worden of dat het om de inhoud gaat.
Dan was je in ieder geval met LIKE tegen de lamp gelopen, aangezien die operator de gehele string moet doorzoeken van elk recordquote:Op donderdag 28 juni 2007 09:31 schreef Tijn het volgende:
[..]
Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.
Ik krijg ditquote:Op donderdag 28 juni 2007 08:59 schreef JeRa het volgende:
[..]
Dit is echt te simpel voor een apart topic. Gebruik zoiets:
[ code verwijderd ]
En dan een cronjob/taakplanner om de 6 uur dit scriptje laten uitvoeren. Volgende keer:
[PHP/(My)SQL] voor dummies - Deel 45
Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaanquote:Op donderdag 28 juni 2007 10:27 schreef Devrim_ het volgende:
[..]
Ik krijg dit
Warning: copy(/feed/rssfeed-2007-06-28-1124.xml): failed to open stream: No such file or directory in /home/www/feed.net/feeds.xml on line 3
Heb ik ook gedaan..Maar krijg nog steeds die error..quote:Op donderdag 28 juni 2007 10:29 schreef JeRa het volgende:
[..]
Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaan
Dan doe je iets foutquote:Op donderdag 28 juni 2007 10:30 schreef Devrim_ het volgende:
[..]
Heb ik ook gedaan..Maar krijg nog steeds die error..
quote:Op donderdag 28 juni 2007 10:30 schreef JeRa het volgende:
[..]
Dan doe je iets fout :) laat eens zien wat je hebt, anders wordt het nogal lastig ;)
1 2 3 4 | $destname = '/filemp3/rssfeed-' . date('Y-m-d-Hi') . '.xml'; copy('-rsslink', $destname); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |