Dat moet eeuwen geleden zijn danquote:Op donderdag 26 september 2013 00:08 schreef xaban06 het volgende:
Ik ben bezig met het bouwen van een nieuwssysteem, mijn vraag is welk type moet ik gebruiken om 'datum/tijd' op te slaan?
Vroeger gebruikte ik gewoon varchar en gebruikte formaat: 201309260007 (2013 - 09 - 26, 00:07). Dit was makkelijk om records uit 2013 te zoeken, records uit een bepaald maand te zoeken etc.
Echter heeft het ook zijn nadelen.
Wat raden jullie aan?
En bestaat daar ook een PHP functie voor om bijvoorbeeld 'nu-3 jaar' te doen? Dus "2010-09-26 00:11:00"quote:Op donderdag 26 september 2013 00:11 schreef totalvamp het volgende:
[..]
Dat moet eeuwen geleden zijn dan
Je hebt gewoon het type DATETIME die slaat de datum op als "Y-m-d H:i:s" "2013-09-26 00:11:00"
Ja, maar je kunt het beter in mysql zelf doen.quote:Op donderdag 26 september 2013 00:26 schreef xaban06 het volgende:
[..]
En bestaat daar ook een PHP functie voor om bijvoorbeeld 'nu-3 jaar' te doen? Dus "2010-09-26 00:11:00"
| 1 2 3 4 5 | <?php select * from orders where order_date >= DATE_SUB(NOW(),INTERVAL 3 YEAR); ?> |
Voor mij zelf, een hobby website.quote:Op donderdag 26 september 2013 00:35 schreef totalvamp het volgende:
[..]
Ja, maar je kunt het beter in mysql zelf doen.
[ code verwijderd ]
Waarvoor maak je een nieuwssystem trouwens?
Ik snap je dilemma.quote:Op donderdag 26 september 2013 00:39 schreef xaban06 het volgende:
[..]
Voor mij zelf, een hobby website.
Kan helaas geen kant en klare systeem gebruiken omdat bij ieder pakket wel iets mist.
Nee. Ik heb PHP geleerd met versie 4, toen was er nog niet echt OOP ondersteuning, de boeken die ik gebruikte gingen er dus ook niet echt diep op in. Helaas, nooit geleerd.quote:Op donderdag 26 september 2013 00:40 schreef totalvamp het volgende:
[..]
Ik snap je dilemma.
Maak je gebruik van classes?
Dan zou ik vanaf het begin af aan beginnen. Wat er toen in die boeken stond is nu gevaarlijk(was het toen ook al).quote:Op donderdag 26 september 2013 00:42 schreef xaban06 het volgende:
[..]
Nee. Ik heb PHP geleerd met versie 4, toen was er nog niet echt OOP ondersteuning, de boeken die ik gebruikte gingen er dus ook niet echt diep op in. Helaas, nooit geleerd.
Nee, al jaren niet meer gescriptquote:Op donderdag 26 september 2013 00:43 schreef totalvamp het volgende:
[..]
Dan zou ik vanaf het begin af aan beginnen. Wat er toen in die boeken stond is nu gevaarlijk(was het toen ook al).
Heb je toevallig een voorbeeld van je code?
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 | News |- id int 6 unsigned auto_increment |- post_title varchar 80 |- post_introduction text - |- post_content text - |- post_icon varchar 15 |- post_date datetime - |- post_category varchar 10 |- post_url varchar 85 |- post_author int 5 unsigned |- post_status varchar 10 |
quote:Op donderdag 26 september 2013 00:48 schreef xaban06 het volgende:
Ok, heb iets kunnen vinden, maar is maar half, ik zie dat ik tig bestanden heb gebruikt waardoor ik niet meer weet wat wat isOeiSPOILEROm 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.dat kan stukken netter.
Het is ook makkelijker met classes te werken die kun je automatisch inladen.ik zou alleen een category_id meegeven ipv de cat naam. Dan kun je een tabel maken met categorieën en die joinen op newsquote:Op donderdag 26 september 2013 00:55 schreef xaban06 het volgende:
Dit wordt de structuur ongeveer, is nog niet af.
[ code verwijderd ]
quote:Op donderdag 26 september 2013 00:48 schreef xaban06 het volgende:
Ok, heb iets kunnen vinden, maar is maar half, ik zie dat ik tig bestanden heb gebruikt waardoor ik niet meer weet wat wat isLet je wel op met sql-injectie?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.
En staat $first en $second voor wat ik denk dat het staat? Wat gebeurt er dan wanneer je de website in een ander pad draait? Gebruik hiervoor een router class, te vinden in allerlei frameworks.
voorbeeld van de codequote:Op donderdag 26 september 2013 00:57 schreef Kakdieusernameisalbezet het volgende:
Hallo, vergeef mij dat ik een php noob ben, ik wil het graag leren. Ik heb 2 vragen:
Ik ben wat aan het klooien met php en mysql. Nu maak ik dat in een mapje op de pc, en upload ik dit naar m'n server. Alles werkte prima, maar sinds vanmiddag, van het 1 op andere moment wordt de php code lokaal niet meer geparsd. Dus als ik de file dan open in chrome zie ik de code ipv het resultaat. Als ik deze file upload naar m'n server werkt alles naar behoren. Enig idee hoe dit zou kunnen komen zonder instellingen te hebben verander/software geïnstalleerd of gedeïnstalleerd etc.?
En vraag 2: Ik heb hiervoor altijd in actionscript geprogrammeerd. Ik ben toe aan iets nieuws en daarom begonnen met php/mysql. Welk boek raden jullie aan om goed te leren phpen? Ik heb wel 2 boeken maar daar wordt teveel over syntax geleutert, dat snap ik allemaal wel... Een soort van boek met tutorials heeft m'n voorkeur..
Bednakt voor het lezen en antwoorden!
Gaat niet om de code, als ik in een pagina <?php echo "hallo"; ?> doe laat ie het ook zo zien, ipv dat de output "hallo" is. Dit heeft sowieso niet met de code te maken, op alle browsers geeft ie ehtzelfde probleem. Geen idee waar het aan kan liggen.quote:Op donderdag 26 september 2013 00:59 schreef totalvamp het volgende:
[..]
voorbeeld van de code?
Ik zou geen boeken raadplegen. Het beste is om de bekende frameworks na te lopen en kijken hoe dat in elkaar steekt. Lees je ook in op OOP er zijn zat voorbeelden met uitleg online.
klinkt alsof de php module niet wordt geladen. Wat voor webserver heb je? Xampp?quote:Op donderdag 26 september 2013 01:02 schreef Kakdieusernameisalbezet het volgende:
[..]
Gaat niet om de code, als ik in een pagina <?php echo "hallo"; ?> doe laat ie het ook zo zien, ipv dat de output "hallo" is. Dit heeft sowieso niet met de code te maken, op alle browsers geeft ie ehtzelfde probleem. Geen idee waar het aan kan liggen.
Mja zoiets dacht ik al, alleen grappige is dat ik nooit zoiets heb geïnstalleerd. Ik ben wat phptutorials gaan doen, phpfiles maken in dreamweaver, openen met chrome en dat werkte. Niks voor geïnstalleerdquote:Op donderdag 26 september 2013 01:03 schreef totalvamp het volgende:
[..]
klinkt alsof de php module niet wordt geladen. Wat voor webserver heb je? Xampp?
Dan zal dreamweaver een ingebouwde server hebben gehad. Installeer XAMPP en probeer opnieuwquote:Op donderdag 26 september 2013 01:05 schreef Kakdieusernameisalbezet het volgende:
[..]
Mja zoiets dacht ik al, alleen grappige is dat ik nooit zoiets heb geïnstalleerd. Ik ben wat phptutorials gaan doen, phpfiles maken in reamweaver, openen met chrome en dat werkte. Niks voor geïnstalleerd
Haha yes sir, thanks! Morgen direct proberen!quote:Op donderdag 26 september 2013 01:06 schreef totalvamp het volgende:
[..]
Dan zal dreamweaver een ingebouwde server hebben gehad. Installeer XAMPP en probeer opnieuw
Een nieuws artikel kan meer dan 1 categorien hebbenquote:Op donderdag 26 september 2013 00:57 schreef totalvamp het volgende:
[..]
Oeidat kan stukken netter.
Het is ook makkelijker met classes te werken die kun je automatisch inladen.
[..]
ik zou alleen een category_id meegeven ipv de cat naam. Dan kun je een tabel maken met categorieën en die joinen op news
koppel tabellen.quote:Op donderdag 26 september 2013 03:01 schreef xaban06 het volgende:
[..]
Een nieuws artikel kan meer dan 1 categorien hebben
Een voorbeeld record wordt dan 1|6|9, artikel zit dus in category 1, 6 en 9. Of kan dat ook slimmer/handiger/logischer?
Een aanrader voor beginners: http://www.usbwebserver.net/quote:Op donderdag 26 september 2013 01:08 schreef Kakdieusernameisalbezet het volgende:
[..]
Haha yes sir, thanks! Morgen direct proberen!
Niet alleen voor beginners hoorquote:Op donderdag 26 september 2013 08:33 schreef Devolution het volgende:
[..]
Een aanrader voor beginners: http://www.usbwebserver.net/
Meervoud klopt niet, want als jij een pagina asset/1 hebt, dan is het logisch dat er meerdere zijn. Dus je hebt het al over meervoud. Zelfde als bij database tabellen. Een tabel "persons" noemen is vreemd, aangezien er meerdere records al in komen te staan over personen. Daarom gebruik ik altijd enkelvoud. Meervoud in urls kom ik ook eigenlijk nooit tegen, zelfs database tabellen in meervoud niet.quote:Op vrijdag 20 september 2013 22:42 schreef Light het volgende:
[..]
[ code verwijderd ]
Ik zou voor meervoud kiezen ipv enkelvoud. En /assets/1/edit heb je eigenlijk alleen nodig voor web. Om een edit te kunnen maken, moet er een edit-pagina zijn. En daar voorziet REST niet in.
Dan kom je op zoiets:
[ code verwijderd ]
new en edit zijn puur bedoeld om een formuliertje te presenteren. En dit lijstje komt uit een Ruby on Rails projectje.
Ik ben niet de intended audience, maarruh.. waarom is het beter dan? Want ik zie niet wat er moeilijk is aan een webserver optuigen die PHP serveert..quote:Op donderdag 26 september 2013 09:06 schreef Chandler het volgende:
Niet alleen voor beginners hoorheeft precies wat een gemiddelde web (php) developer nodig heeft.. gebruik het nu al jaren! veel beter dan xamp, wamp en dergelijke alternatieven!
Omdat het klik en play is! sterker nog, gewoon uitpakken, starten en het werkt! XAMPP en dergelijke packs bevatten veel meer dan een gemiddelde webdeveloper nodig heeft (imo). Daarnaast doet het precies wat een 'normale' webserver ook doet, het serveren van pagina's!quote:Op donderdag 26 september 2013 10:01 schreef slacker_nl het volgende:
Ik ben niet de intended audience, maarruh.. waarom is het beter dan? Want ik zie niet wat er moeilijk is aan een webserver optuigen die PHP serveert..
| 1 2 3 4 | $nu = date("c"); $einddatum = date("c", strtotime('-2 hours')); select * from blabla where date BETWEEN "'.$nu.'" and "'.$einddatum.'" |
| 1 | 2013-09-26T11:41:54+02:00 2013-09-26T09:41:54+02:00 |
...in goed Nederlands ook wel koppeltabel genoemd ja.quote:Op donderdag 26 september 2013 10:45 schreef xaban06 het volgende:
[..]
Hoe bedoel je?
Een aparte relationship tabel?
Nee, moet dat persé?quote:Op donderdag 26 september 2013 11:47 schreef KomtTijd... het volgende:
`date` is wel een datetime veld?
Ja, anders gaat het nooit werken... tenzij je de string on the fly naar een datetime omzet met een sql-functie. Maar dat is iets wat je liever niet doet.quote:
| 1 2 | $nu = date('Y-m-d H:i:s'); $einddatum = date("Y-m-d H:i:s", strtotime('-2 hours')); |
Ook geen error?quote:Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Lege output, zie ik nog iets over het hoofd?
Misschien moet je $nu en $einddatum in je query even omdraaienquote:Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Oke, `date` is nu een datetime.
Datums in de db staan er als volgt in:
2013-09-26 11:59:33
2013-09-26 11:55:00
etc
Nu en einddatum heb ik op deze manier ingesteld:
[ code verwijderd ]
en geven dit als output:
2013-09-26 12:08:17
2013-09-26 10:08:17
Lege output, zie ik nog iets over het hoofd?
Je kan het ook gewoon in MYSQL zelf doenquote:Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Oke, `date` is nu een datetime.
Datums in de db staan er als volgt in:
2013-09-26 11:59:33
2013-09-26 11:55:00
etc
Nu en einddatum heb ik op deze manier ingesteld:
[ code verwijderd ]
en geven dit als output:
2013-09-26 12:08:17
2013-09-26 10:08:17
Lege output, zie ik nog iets over het hoofd?
| 1 2 3 4 5 6 7 8 9 10 11 | <?php if ( key_exists( "not", $_GET ) ) { echo "test1"; if ( !is_null( $_GET[ "not" ] ) || !empty($_GET["not"]) ) { echo "test2"; } } ?> |
| 1 | search.php?match=d_ |
| 1 | search.php?match=d_¬= |
Wat probeer je te bereiken?quote:Op donderdag 26 september 2013 21:58 schreef d4v1d het volgende:
Ik ben nu al zeker een jaar met php bezig, en ik zou zeggen dat ik het redelijk goed beheers maar nu loop ik tegen iets simpels aan wat ik gewoon niet begrijp![]()
search.php
[ code verwijderd ]
Met
[ code verwijderd ]
komt die nergens, tot zover snap ik het nog, echter met
[ code verwijderd ]
komt die tot test2.. Hij zou toch enkel tot test1 moeten komen dan?
Wat zie ik over het hoofd?
Edit: Geen idee hoe ¬ opeens in de uri staat, dat moet een ampersand zijn.., in het invoerveld hier staat die gewoon als ampersand..
Ik neem aan dat je array_key_exists() bedoelt en niet key_exists?quote:Op donderdag 26 september 2013 21:58 schreef d4v1d het volgende:
Ik ben nu al zeker een jaar met php bezig, en ik zou zeggen dat ik het redelijk goed beheers maar nu loop ik tegen iets simpels aan wat ik gewoon niet begrijp![]()
search.php
[ code verwijderd ]
Met
[ code verwijderd ]
komt die nergens, tot zover snap ik het nog, echter met
[ code verwijderd ]
komt die tot test2.. Hij zou toch enkel tot test1 moeten komen dan?
Wat zie ik over het hoofd?
Edit: Geen idee hoe ¬ opeens in de uri staat, dat moet een ampersand zijn.., in het invoerveld hier staat die gewoon als ampersand..
key_exists is een alias, dus zou niet uit moeten maken.quote:Op donderdag 26 september 2013 22:16 schreef totalvamp het volgende:
[..]
Ik neem aan dat je array_key_exists() bedoelt en niet key_exists?
als je iets uit een invoerveld in de URL wilt zul je urlencode moeten gebruiken.
Al gevonden, Het moestquote:Op donderdag 26 september 2013 22:15 schreef Crutch het volgende:
[..]
Wat probeer je te bereiken?
Misschien de hele search snippet even posten?
| 1 2 3 | <?php if ( !(is_null( $_GET[ "not" ] ) || empty($_GET["not"])) ) ?> |
empty() controleert ook op null-waardes. Als een variabele null is, is deze ook empty. Die extra null-check is dus niet nodig.quote:Op donderdag 26 september 2013 22:18 schreef d4v1d het volgende:
Al gevonden, Het moest
[ code verwijderd ]
zijn. (Dus met de haakjes om beide)
Opgelost dus.
Wat is er maf aan?quote:Op donderdag 26 september 2013 22:21 schreef KomtTijd... het volgende:
...ik mag aannemen dat je zo'n maffe if niet in je productiecode zet?
Ah, thx.quote:Op donderdag 26 september 2013 22:21 schreef Light het volgende:
[..]
empty() controleert ook op null-waardes. Als een variabele null is, is deze ook empty. Die extra null-check is dus niet nodig.
Wat is er gek aan? (even los van het commentaar van Light).quote:Op donderdag 26 september 2013 22:21 schreef KomtTijd... het volgende:
...ik mag aannemen dat je zo'n maffe if niet in je productiecode zet?
normaal heb je in een framework functies die de requests afvangen en controleren op foutieve data.quote:Op donderdag 26 september 2013 22:23 schreef slacker_nl het volgende:
[..]
Wat is er gek aan? (even los van het commentaar van Light).
Nouja dat, plus het lijkt meer een soort van puzzelopdracht om de haakjes en dubbele negaties te ontcijferen.quote:Op donderdag 26 september 2013 22:23 schreef slacker_nl het volgende:
[..]
Wat is er gek aan? (even los van het commentaar van Light).
Ik gebruik geen framework.quote:Op donderdag 26 september 2013 22:24 schreef totalvamp het volgende:
[..]
normaal heb je in een framework functies die de requests afvangen en controleren op foutieve data.
Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)quote:Op donderdag 26 september 2013 22:25 schreef KomtTijd... het volgende:
[..]
Nouja dat, plus het lijkt meer een soort van puzzelopdracht om de haakjes en dubbele negaties te ontcijferen.
gewoon met empty().quote:Op donderdag 26 september 2013 22:26 schreef d4v1d het volgende:
[..]
Ik gebruik geen framework.
[..]
Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)
Ja dat heb ik nu, zie de opmerking van Light.quote:
| 1 2 3 4 5 6 7 8 9 10 11 | <?php if ( key_exists( "not", $_GET ) ) { $not = urldecode( $_GET[ "not" ] ); if ( !empty( $not ) ) { // doe iets.. } } ?> |
| 1 2 3 4 5 6 | <?php if (!empty($_GET['not'])) { //doe iets } ?> |
En dan een warning krijgen dat de key "not" niet bestaatquote:Op donderdag 26 september 2013 22:29 schreef KomtTijd... het volgende:
Wat dacht je van
[ code verwijderd ]
...om maar een bizarre dwarsstraat te noemen.
quote:Op donderdag 26 september 2013 22:26 schreef d4v1d het volgende:
[..]
Ik gebruik geen framework.
[..]
Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php class Request { public static function get($key) { return (!empty($_GET[$key])?$_GET[$key]:false; } public static function post($key) { return (!empty($_POST[$key])?$_POST[$key]:false; } } $var = Request::get('not'); ?> |
Meen je die?quote:Op donderdag 26 september 2013 22:30 schreef KomtTijd... het volgende:
empty controleert ook op bestaan.
Voordeel van (static) classes en functiesquote:Op donderdag 26 september 2013 22:32 schreef d4v1d het volgende:
[..]
Ziet er netjes uit wel. Toch even overwegen misschien
| 1 2 3 4 5 6 7 8 9 10 11 | <?php class HTML { public static function printr($txt) { echo '<pre>'; print_r($txt); echo '</pre>'; } } HTML::printr($eenarray); ?> |
die jat ik even.quote:Op donderdag 26 september 2013 22:34 schreef totalvamp het volgende:
[..]
Voordeel van (static) classes en functieserg handig voor dingen die je meerdere keren gebruikt.
Mijn favo voor lokaal testen vand data
[ code verwijderd ]
Dan zou ik het wel iets uitgebreider maken, al was het maar omdat empty() ook true kan opleveren voor situaties waarbij er wel data (de string "0") aanwezig is. Er zijn meer situaties, maar die lijken me minder van belang voor $_GET en $_POST.quote:
Sssssssst ik laat hem langzaam die kant op gaan xDquote:Op donderdag 26 september 2013 22:36 schreef KomtTijd... het volgende:
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier...
Zijn er eigenlijk al kant en klare frameworks voor dit soort basis dingen? Ik kan er natuurlijk zelf een schrijven maar waarom het wiel opnieuw uitvindenquote:Op donderdag 26 september 2013 22:36 schreef KomtTijd... het volgende:
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier...
quote:Op donderdag 26 september 2013 22:37 schreef d4v1d het volgende:
[..]
Zijn er eigenlijk al kant en klare frameworks voor dit soort basis dingen?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |