abonnement Unibet Coolblue Bitvavo
pi_62665517
Mensen ik heb ook iets waar ik niet uit kom.

Ik wil nieuws op een site kunnen plaatsen, daar kan ik zelf een datum aan geven (pub_date) (Die pub_date is een Unixtimestamp voorbeeld: 1224934001 = 25-10-2008 13:26) Het nieuws wat met een pub_date wat later is dan vandaag, mag nog niet op de site komen.

Nu heb ik daarvoor de volgende query:
1select * from nieuws where pub_date < UNIX_TIMESTAMP() ORDER BY pub_date


Ik heb echter ook een nieuw nieuwsbericht met pubdate van 26 oktober 2008 ingevoerd, die wordt gewoon weergeven. Ik snap dat niet helemaal... Zijn er mensen die weten wat ik fout doe?

Alvast bedankt! :)
pi_62666226
Sorry de query was toch goed, de datum invoer gaat nog niet helemaal goed, hij pakt opeens de lokale datum en tijd ipv de ingevoerde

Had ik niet eerder gezien

Maar goed het werkt, en ik had dus in de query niks fout gedaan
pi_62677741
quote:
Op zaterdag 25 oktober 2008 14:43 schreef Twisted_Logic het volgende:
Sorry de query was toch goed, de datum invoer gaat nog niet helemaal goed, hij pakt opeens de lokale datum en tijd ipv de ingevoerde

Had ik niet eerder gezien

Maar goed het werkt, en ik had dus in de query niks fout gedaan
Kan gebeuren

Overigens zou ik in die query <= gebruiken ipv <
pi_62679001
Even een korte vraag:

1mysql_query = ("UPDATE ur_pstats SET goals=goals+$goals, assists=assists+$assists, games=games+1, wins='$win', points=points+$points WHERE user='$user'"); 


Gaat dit werken? Het gaat mij om het gedeelte goals=goals+$goals. Ik weet dat games=games+1 werkt, maar of het ook op deze manier kan weet ik niet. Zo nee, hoe zou ik de query moeten veranderen?
  zondag 26 oktober 2008 @ 00:46:04 #30
63192 ursel
"Het Is Hier Fantastisch!
pi_62679301
quote:
Op zondag 26 oktober 2008 00:28 schreef Irix het volgende:
Even een korte vraag:
[ code verwijderd ]

Gaat dit werken? Het gaat mij om het gedeelte goals=goals+$goals. Ik weet dat games=games+1 werkt, maar of het ook op deze manier kan weet ik niet. Zo nee, hoe zou ik de query moeten veranderen?
Niet op deze manier, omdat je variabelen binnen de "" staan.
Maar waarom zou je de berekening zelf binnen je query willen doen?

Ik ben eigenlijk zelf nooit echt een voorstander van geweest om in de UPDATE/INSERT query zelf al te veel "functionaliteit" te zetten.
pi_62680026
Op de andere manier die ik ik ken zou ik eerst de variabele goals moeten opvragen voor deze user. Ik hoopte dat het korter kon.
pi_62681776
quote:
Op zondag 26 oktober 2008 00:46 schreef ursel het volgende:

[..]

Niet op deze manier, omdat je variabelen binnen de "" staan.
Juist omdat de variabelen binnen "" staan, gaat het wel werken.
quote:
Maar waarom zou je de berekening zelf binnen je query willen doen?

Ik ben eigenlijk zelf nooit echt een voorstander van geweest om in de UPDATE/INSERT query zelf al te veel "functionaliteit" te zetten.
Heb je een ander voorstel voor "verhoog de huidige waarde met x"?
pi_62681782
quote:
Op zondag 26 oktober 2008 00:28 schreef Irix het volgende:
Even een korte vraag:
[ code verwijderd ]

Gaat dit werken? Het gaat mij om het gedeelte goals=goals+$goals. Ik weet dat games=games+1 werkt, maar of het ook op deze manier kan weet ik niet. Zo nee, hoe zou ik de query moeten veranderen?
Voor zover ik kan zien, werkt het gewoon. Je moet uiteraard wel zorgen dat je variabelen vooraf worden gecontroleerd zodat ze geldige data bevatten.
  zondag 26 oktober 2008 @ 09:12:36 #34
12880 CraZaay
prettig gestoord
pi_62682039
Spuit 11 modus: wat Light zegt

Ursel, waarom denk je dat het niet werkt doot die " "?
pi_62684120
1
2
3
<?php
echo "tvp";
?>
  zondag 26 oktober 2008 @ 12:15:48 #36
63192 ursel
"Het Is Hier Fantastisch!
pi_62684796
quote:
Op zondag 26 oktober 2008 08:27 schreef Light het volgende:

[..]

Voor zover ik kan zien, werkt het gewoon. Je moet uiteraard wel zorgen dat je variabelen vooraf worden gecontroleerd zodat ze geldige data bevatten.
Mja, zoals ik eigenlijk zei :
quote:
Ik ben eigenlijk zelf nooit echt een voorstander van geweest om in de UPDATE/INSERT query zelf al te veel "functionaliteit" te zetten.
Doormiddel van een kleine functie welke voor je de berekeningen doet. Hierin verwerk je gelijk een validatie op je variabele en return je de uitgerekende waarde welke je in je query kan zetten. Met vaste "verhoogwaarde" zou ik het nog wel doen, maar met een variabele eigenlijk niet.

Zal vast wel persoonlijke voorkeur zijn anders..

Dat van die variabele tusse "" gebruik ik eigenlijk nooit en dacht dat het niet werkte / dan wel not done was.
Maar blijkbaar heb ik dat dus mis.
pi_62684926
quote:
Op zondag 26 oktober 2008 12:15 schreef ursel het volgende:

[..]

Mja, zoals ik eigenlijk zei :
[..]

Doormiddel van een kleine functioe welke voor je de berekeningen doet. Hierin verwerk je gelijk een validatie op je variabele en return je de uitgerekende waarde welke je in je query kan zetten.
Dan moet je dus eerst alles uitlezen, vervolgens de nieuwe waardes berekenen en dan alles terugzetten. Het kan, maar je doet een onnodige query en je maakt een atomaire actie niet meer atomair. Dus kans op fouten.
quote:
Zal vast wel persoonlijke voorkeur zijn anders..

Dat van die variabele tusse "" gebruik ik eigenlijk nooit en dacht dat het niet werkte / dan wel not done was.
Maar blijkbaar heb ik dat dus mis.
Ik gebruik het zelf niet, geef de voorkeur aan ''. En bij '' werkt het niet om variabelen in de string te zetten, die worden dan niet geparsed. Iets als een \n voor een newline werkt ook alleen tussen "", als je dat tussen '' zet krijg je gewoon \n te zien.
  zondag 26 oktober 2008 @ 12:32:31 #38
63192 ursel
"Het Is Hier Fantastisch!
pi_62685134
quote:
Op zondag 26 oktober 2008 12:21 schreef Light het volgende:

[..]

Dan moet je dus eerst alles uitlezen, vervolgens de nieuwe waardes berekenen en dan alles terugzetten. Het kan, maar je doet een onnodige query en je maakt een atomaire actie niet meer atomair. Dus kans op fouten.
[..]
Mja, 9 van de 10 keer heb ik nagenoeg alle waarde welke ik wil inserten/updaten al ter beschikking dus valt die extra query in het niets.
Maar ik begrijp je punt.
quote:
Ik gebruik het zelf niet, geef de voorkeur aan ''. En bij '' werkt het niet om variabelen in de string te zetten, die worden dan niet geparsed. Iets als een \n voor een newline werkt ook alleen tussen "", als je dat tussen '' zet krijg je gewoon \n te zien.
Dat heb ik zelf eigenlijk ook nooit begrepen. Gebruik zelf namelijk ook altijd de enkele quote.
Weet je misschien ook waarom dat zo is eigenlijk?
pi_62685909
Strings tussen enkele quotes worden niet geparsed op variabelen / andere meuk die erin staan... Dat zou dus een snelheidswinstje op moeten leveren, omdat PHP er niet over na hoeft te denken

Ik zet altijd alles tussen single quotes, tenzij ik echt een linebreak moet hebben oid
pi_62686098
quote:
Op zondag 26 oktober 2008 13:08 schreef Xcalibur het volgende:
Strings tussen enkele quotes worden niet geparsed op variabelen / andere meuk die erin staan... Dat zou dus een snelheidswinstje op moeten leveren, omdat PHP er niet over na hoeft te denken :)

Ik zet altijd alles tussen single quotes, tenzij ik echt een linebreak moet hebben oid
Ik ook. Daarbij zijn single quotes makkelijker om te typen :)
Als ik een linebreak aan het eind wil hebben doe ik ook nog wel eens
1
2
3
<?php
echo 'string voor line break'."\n";
?>
  zondag 26 oktober 2008 @ 13:50:50 #41
63192 ursel
"Het Is Hier Fantastisch!
pi_62686911
quote:
Op zondag 26 oktober 2008 13:17 schreef Light het volgende:

[..]

Ik ook. Daarbij zijn single quotes makkelijker om te typen
Als ik een linebreak aan het eind wil hebben doe ik ook nog wel eens
[ code verwijderd ]
zo doe ik het ook ja..
pi_62692796
Ik hoef niet zo vaak een linebreak, tenzij ik eens een XML uitpoep die ik een beetje leesbaar wil houden ofzo
pi_62692977
Even een TVP plaatsen want ik heb een vraag maar ben hem op het moment vergeten.
Bodybuilding #1
Hardlopen #2
pi_62693353
Klein vraagje,

Stel ik heb het volgende:
1
2
3
4
5
<?php
return <<<TEMPLATE
<title>&nbsp;{$news['title']}</title>
TEMPLATE;
?>


Hoe is het mogelijk om binnen de template een functie aan te roepen? bv {strtolower($news['title']);} dit werkt namelijk niet :{
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 26 oktober 2008 @ 17:16:01 #45
12880 CraZaay
prettig gestoord
pi_62693431
quote:
Op zondag 26 oktober 2008 12:32 schreef ursel het volgende:

Dat heb ik zelf eigenlijk ook nooit begrepen. Gebruik zelf namelijk ook altijd de enkele quote.
Weet je misschien ook waarom dat zo is eigenlijk?
Parse snelheid. PHP gaat geen moeite doen om vars te parsen binnen enkele quotes, terwijl dat wel geprobeerd gaat worden binnen dubbele quotes. Het netste is imo om het gebruik hierop af te stemmen, dus echo('bla'); binnen enkele quotes en echo("$var"); binnen dubbele quotes (of echo("{$object->var}"); met accolades erbij).
  zondag 26 oktober 2008 @ 17:17:59 #46
12880 CraZaay
prettig gestoord
pi_62693489
quote:
Op zondag 26 oktober 2008 17:13 schreef Chandler het volgende:
Klein vraagje,

Stel ik heb het volgende:
[ code verwijderd ]

Hoe is het mogelijk om binnen de template een functie aan te roepen? bv {strtolower($news['title']);} dit werkt namelijk niet
Een non-breaking-space in een <title>?

En als antwoord op je vraag: beetje moeilijk te zeggen zonder iets te weten van je template engine Sowieso, templates? Is dat wat we gebruikten voor er "views" kwamen?
pi_62693554
Dat is de template engine gewoon return van een tekst die begint met <<<TEMPLATE en afsluit met TEMPLATE; echter kan ik niet de documentatie van php terug vinden waar de uitleg staat en eventueel meerdere mogelijkheden.

The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_62693674
quote:
Op zondag 26 oktober 2008 17:13 schreef Chandler het volgende:
Klein vraagje,

Stel ik heb het volgende:
[ code verwijderd ]

Hoe is het mogelijk om binnen de template een functie aan te roepen? bv {strtolower($news['title']);} dit werkt namelijk niet
Nee, in een heredoc-notatie kun je geen functies aanroepen.
pi_62694559
Weer wat geleerd Light! tnx alleen maar variabelen, duidelijk!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 26 oktober 2008 @ 18:26:45 #50
12880 CraZaay
prettig gestoord
pi_62695454
Waarom gebruik je überhaupt heredoc, en niet gewoon quotes rond je string (die in PHP gewoon linebreaks mag hebben)? Scheelt weer wat code en is volgens mij net zo duidelijk?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')