het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.quote:Op vrijdag 1 mei 2009 12:35 schreef Chandler het volgende:
Een vraagje over een query:
[ code verwijderd ]
tabel gegevens:
[ code verwijderd ]
Kan ik deze verbeteren? of is mijn query juist?
Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.quote:Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:
[..]
het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
De inserts gaan allemaal aardig snel, maar voornamelijk zit het hem in de unix_timestamp conversiequote:Op vrijdag 1 mei 2009 13:11 schreef GlowMouse het volgende:
Een functie van een veld kan niet geïndexeerd worden. Kijk daarnaast eens naar of het wel nodig is of er naast een index op stat_id wel aanleiding is voor een extra index, en zoja, kijk naar hoe je indexen combineert.
Tja dat is inderdaad een handig idee. Zal eens kijken of deze stamps gelijk zijn.quote:Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:
het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..quote:Op vrijdag 1 mei 2009 15:18 schreef Light het volgende:
Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.
Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.quote:Op vrijdag 1 mei 2009 16:19 schreef Chandler het volgende:
Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..
Late reactie, maar bedankt voor je antwoordquote:Op woensdag 29 april 2009 15:39 schreef HuHu het volgende:
[ code verwijderd ]
In htmltop.php kun je vervolgens dit doen:
[ code verwijderd ]
Klopt maar toch kan deze query nog steeds aardig wat tijd in beslag nemen, maar ik denk dat ik maar eens de unix_timestamp moet gaan aanpakken, deze kost namelijk het meeste tijdquote:Op vrijdag 1 mei 2009 17:07 schreef Light het volgende:
[..]
Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | include "connect.php"; //verbinding maken $query = 'SELECT `Jaar` , `Thuis` , `Gasten` , `Publiek` FROM `Toeschouwers` ORDER BY `Publiek` DESC LIMIT 0, 791 '; $sql = mysql_query($query) or die ( mysql_error( ) ); //query is uitgevoerd echo "<table width='70%' border='1' align='left'> <tr><td><strong>#</strong></td><td><strong>Datum</strong></td><td><strong>Thuis</strong></td><td><strong>Gasten</strong></td><td><strong>Publiek</strong></td></tr>"; $positie = 1; while($record = mysql_fetch_object($sql)) { if ( ($positie == 1) || ($record->Publiek < $vorige)) { $print_positie = $positie; } else { $print_positie = " "; } echo "<tr><td>".$print_positie."</td><td>".$record->Jaar."</td><td>".$record->Thuis."</td><td>".$record->Gasten."</td><td>".$record->Publiek."</td></tr>"; $vorige = $record->Publiek; $positie++; } echo "</table>"; ?> |
1 |
1 |
SELECT is het woord SELECT uit je query. Vul het daar eens inquote:Op maandag 4 mei 2009 20:07 schreef Uw_ergste_nachtmerrie het volgende:Noobish als ik ben weet ik dus niet de juiste positie voor de regel die toegevoegd moet worden..
Je zegt bij het weergeven dus ga ik er vanuit dat die pas na regel 6 moet komen?
1 |
1 2 3 4 | if(strlen($string) > 3) { //afkappen } |
Die telt woorden, geen tekens.quote:Op maandag 4 mei 2009 23:04 schreef HuHu het volgende:
Ik denk dat je op zoek bent naar deze functie: str_word_count.
Dat weet ik, maar hij zegt toch ook: "Die wil ik bijv. na 3 woorden afkappen."quote:Op maandag 4 mei 2009 23:14 schreef Light het volgende:
[..]
Die telt woorden, geen tekens.
Wat ik vaak doe is een maximaal aantal tekens bepalen, met substr() daarop afkappen en dan met substr() en strrpos() afkappen op de laatste spatie in de string.
Als je html-berichten gaat inkorten loop je ook nog het risico dat er ineens tags niet goed meer zijn afgesloten. En dat kan vreemde gevolgen hebben
Dat kan, dan moet je heel goed definieren wat als woord moet worden geteld.quote:Op maandag 4 mei 2009 23:17 schreef HuHu het volgende:
[..]
Dat weet ik, maar hij zegt toch ook: "Die wil ik bijv. na 3 woorden afkappen."
quote:Op maandag 4 mei 2009 22:33 schreef Pizzahut het volgende:
Hoi, ik ben opzoek naar een lees verder manier voor een blog.
Stel ik heb:
[ code verwijderd ]
Die wil ik bijv. na 3 woorden afkappen.
[ code verwijderd ]
1 2 3 4 5 6 7 | function afkappen_zin($string, $max_words = 5) { return join(" ", array_slice(preg_split("/\s+/", $string), 0, $max_words)); } printf("%s\n", afkappen_zin("Dit is een lange zin, vol met woorden en die gaan we afkappen", 3)); ?> |
Chandler heeft iets op z'n blog staan hierover, misschien daar even kijken?quote:Tevens ben ik op zoek naar een manier van paging icm een query.
dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
Als je toch emt een regex aan de gang gaat, gebruik dan ff een regex om in 1 keer de eerste 3 woorden te pakken. Een split en dan weer een join is niet zo efficient.quote:
Ik heb zoiets gemaakt, maar ik heb hem dan wel zodat je ook vorige/volgende/eerste/laatste pagina hebt en dat er maximaal 5 links staan die dus doorschuiven.quote:Op maandag 4 mei 2009 22:33 schreef Pizzahut het volgende:
Tevens ben ik op zoek naar een manier van paging icm een query.
dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [1] 2 3 4 5 > >> pagina 2 < 1 [2] 3 4 5 > >> pagina 3 << < 1 2 [3] 4 5 > >> pagina 4 << < 2 3 [4] 5 6 > >> een na laatste pagina << < 7 8 9 [10] 11 > laatste pagina << < 7 8 9 10 [11] |
1 2 3 4 5 6 7 8 | function afkappen_zin2($string, $max_words = 5) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); return join("", $matches); } } ?> |
En wat als de if-conditie niet waar bijkt te zijn? Als er bijvoorbeeld helemaal geen spaties inzitten? In de code wordt dan niets teruggegeven, terwijl het m.i. netter is om $string terug te geven.quote:Op dinsdag 5 mei 2009 12:47 schreef slacker_nl het volgende:
ow, omdat we een regexp gebruiken betekend niet dat we gelijk alles maar met een regexp moeten oplossen. Je kan ook split doen op ' ', maar dan pak je geen tabs (en die pakt de \s wel), dat is de enige reden van de regexp in de split, verder vind ik een split/join helemaal niet zo'n probleem als we het hebben over efficientie.
Maar goed, dit kan ook ja:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function afkappen_zin($string, $max_words = 5) { return join(" ", array_slice(preg_split("/\s+/", $string), 0, $max_words)); } function afkappen_zin2($string, $max_words = 1) { if ($string || strlen($string)) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); return join("", $matches); } } return $string; } printf("%s\n", afkappen_zin("Dit is een lange zin, vol met woorden en die gaan we afkappen", 6)); printf("%s\n", afkappen_zin2("Dit is een lange zin, vol met woorden en die gaan we afkappen", 6)); printf("%s\n", afkappen_zin("Dit is", 1)); printf("%s\n", afkappen_zin2("ditititititititititiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii", 6)); printf("%s\n", afkappen_zin2("0", 6)); printf("%s\n", afkappen_zin2("", 6)); ?> |
1 2 3 4 5 6 7 8 | function afkappen_zin2($string, $max_words = 5) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); } return join("", $matches); } ?> |
als ie parsed en "" teruggeeft als er geen matches bestaan, dan lijkt het me dat het klopt.quote:Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
Waarom dan niet gewoon:
[ code verwijderd ]
Of zie ik nou iets over het hoofd ?
1 2 3 4 5 | return implode(', ', array_map(create_function('$t', 'return "<a href=\"?action=search&query=$t\">$t</a>";' ), $this->tags)); ?> |
Kan onder Windows ook. php.exe <3quote:Op dinsdag 5 mei 2009 14:50 schreef slacker_nl het volgende:
Als je een Linux machine hebt kan je ook nog met php5-cli gaan werken en dan kan je dit gewoon gebruiken: php x.php
Zo maak ik al mijn php code (zodat ik geen browser nodig heb om bepaalde zaken te testen).
Zoeken naar een shoutbox.quote:Op dinsdag 5 mei 2009 14:51 schreef RHCPeter het volgende:
Ik heb een vraagje
Ik wil een tabel maken op mijn site waar bezoekers zelf iets in kunnen zettenOngeveer hetzelfde principe als dit:
http://www.iphonefriendcodes.com/games/4-Mafia-Wars
Weet iemand hoe ik dat kan doen?
Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze)?
[ code verwijderd ]
Klacht: php is kut
Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze)?
[ code verwijderd ]
Klacht: php is kut
Dankjequote:Op dinsdag 5 mei 2009 15:43 schreef whoops het volgende:
[..]
Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...
Ik bedoelde dat er dingen in die taal zitten zoals 'create_function' die twee strings accepteerd enzo. Dat moet dan doorgaan voor een anonieme functiequote:Op dinsdag 5 mei 2009 15:33 schreef GlowMouse het volgende:
[..]
Kan onder Windows ook. php.exe <3
[..]
Zoeken naar een shoutbox.
[..]
Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.
Dat valt wel mee toch? Dit is ook leuk:quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze :') )?
[ code verwijderd ]
Klacht: php is kut
1 2 3 4 5 6 7 | $a = 'String'; $b = 0; if($a == true && $b == false && $a == $b) { echo 'Universe is broken'; } ?> |
Windows is kutquote:
My pleasure, dummyquote:
1 2 3 4 5 | function afkappenZin($string, $max = 5) { return join(" ", array_slice(preg_split("/\s+/", $string), 0, $max)); } ?> |
Door [ php] en [ /php] te gebruiken.quote:Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:
[ code verwijderd ]
(hoe krijg je die php colors in die code tag?)
Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer
Dit was deze code:quote:Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:
[ code verwijderd ]
Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function afkappenZin($string, $max = 5) { /* We splitten de zin op alle whitespace characters als er 1 of meer voorkomen dmv een reguliere expressie */ $array = preg_split("/\s+/", $string); /* Aantal woorden dat we willen weergeven We willen $max aantal resultaat hebben kan met for-loop maar kan ook met array_slice */ $wanted = array_slice($array, 0, $max); /* wat je al wist */ return join(" ", $wanted); } ?> |
array_pop moet trouwens array_shift zijnquote:Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
Waarom dan niet gewoon:
[ code verwijderd ]
Of zie ik nou iets over het hoofd ?
Thanxquote:Op woensdag 6 mei 2009 00:14 schreef slacker_nl het volgende:
[..]
Dit was deze code:
[ code verwijderd ]
\s is een whitespace character: spatie, tab, enter, \r etc etc.quote:Op woensdag 6 mei 2009 09:10 schreef Pizzahut het volgende:
[..]
ThanxGelijk een stuk duidelijker!
Maar hoe weet je welke whitespace expressies je moet hebben?
(Dat zijn toch de /\s+/) ?
want ik zie ook wel eens /\[s+]\
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!-- test room --> <a href=room.php?room= echo $room1 target=_blank><div class='status'> echo $room1 </div><div class='cam'><a href=room.php?room= echo $room1 target=_blank> if($online1==$time) { echo "<http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>"; } else { echo "<div class='img'></div>"; } </a></div><div class='line'></div><div class='btn'> <a href=room.php?room= echo $room1 target=_blank>Chat</a></div> </a></div> <!-- end test room --> ?> |
Weet je zeker dat de variabele $online1 en $time gezet zijn? Sommige servers geven foutmeldingen als er gevraagd word om een niet bestaande variabele.quote:Op woensdag 6 mei 2009 15:42 schreef bassiedekloon het volgende:
Hey hey allemaal..
Ik heb mss een hele domme vraag maar ik kom er niet uit.
Ik heb dit gemaakt:
[ code verwijderd ]
Zoals jullie mss al zien staat er een fout op lijn 5, ik krijg dat $room1 niet werkend....
weet iemand hoe dat wel moet?
Je kunt beter mod_rewrite gebruiken.quote:Op woensdag 6 mei 2009 15:42 schreef wobbel het volgende:
Enkele jaren terug had ik een grappig systeem waarmee ik mijn domein.nl/index.php?pagina=contactgegevens kon vermakkelijken naar domein.nl/contactgegevens/
Dit deed ik doormiddel van een .htaccess die mij doorstuurde naar een 404 pagina bestaande uit PHP, en die keek weer naar wat er in de adresbalk was ingevuld en die riep alsnog intern de pagina "contactgegevens" op.
Iemand ergens een stukje info hierover?
ja $online1 en $time zijn gezet.quote:Op woensdag 6 mei 2009 15:55 schreef ssmm987 het volgende:
[..]
Weet je zeker dat de variabele $online1 en $time gezet zijn? Sommige servers geven foutmeldingen als er gevraagd word om een niet bestaande variabele.
En staan er puntkomma dingetjes achter alle: echo $room1?
Als die er niet staan, en er komt nog php code achteraan, resulteert dat ook in foutmeldingen.
Als het dat niet is, zou je dan de hele foutmelding kunnen posten?
1 2 3 4 5 6 7 | <a href=room.php?room=101 target=_blank><div class='status'>101</div><div class='cam'><a href=room.php?room=101 target=_blank> <http://static.domein.nl/previews/picture'101'.jpg alt=Chat border=0 class=fullborder title=Chat> </a></div><div class='line'></div><div class='btn'> <a href=room.php?room=101 target=_blank>Chat</a></div> </a></div> <!-- end test room --> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <a href=room.php?room=<?php echo $room1 ?> target=_blank><div class='status'><?php echo $room1 ?></div><div class='cam'><a href=room.php?room=<?php echo $room1 ?> target=_blank> <?php if($online1==$time) { echo "<http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>"; } else { echo "<div class='img'></div>"; } ?> </a></div><div class='line'></div><div class='btn'> <a href=room.php?room=<?php echo $room1 ?> target=_blank>Chat</a></div> </a></div> <!-- end test room --> |
1 |
1 |
1 2 3 4 | echo "<img src=http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>"; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |