Linken laten zien toegevoegd afgelopen week

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

03/03/2007 20:58:00
Quote Anchor link
Als ik linken in de database stop voeg ik er ook een "datetime" aan toe.

Kan ik linken uit de database halen die ik er afgelopen week in heb gestopt om die te laten zien?

Hoe ziet die query eruit.
 
PHP hulp

PHP hulp

20/11/2024 08:38:11
 
Stefan van Iwaarden

Stefan van Iwaarden

03/03/2007 21:03:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT link FROM tabel WHERE NOW > DATE_SUB(datum,1 WEEK)";
?>


zoiets zul je moeten hebben denk ik
 
Joren de Wit

Joren de Wit

03/03/2007 21:17:00
Quote Anchor link
Bijna goed Stefan, ware het niet dat met jouw syntax alle links opgehaald zullen worden. Immers de huidige datum is altijd groter dan data in het verleden waar je een week vanaf trekt. Dus voor de afgelopen zeven dagen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT link
FROM tabel
WHERE datum >= DATE_SUB(NOW(), INTERVAL 1 WEEK)


Voor links in de afgelopen week (dus ma-zo):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT link
FROM tabel
WHERE WEEK(datum, 1) = WEEK(NOW(), 1)
 

03/03/2007 21:33:00
Quote Anchor link
@Blanche

Versie 2 werkt wel maar versie 1 niet, dan kunnen de gegevens niet weergegeven worden.

Versie 2 heb ik wel iets aan toegevoegd anders gaf hij linken weer die ik vorig jaar had toegevoegd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
FROM links WHERE WEEK(toegevoegd, 1) = WEEK(NOW(), 1) AND YEAR(toegevoegd) = YEAR(CURDATE()) ORDER BY links_id';
?>


Het zou ook fijn zijn om versie 1 werkend te krijgen.
 
Joren de Wit

Joren de Wit

03/03/2007 22:43:00
Quote Anchor link
Wat gaat er precies fout dan? Want als het hier uitprobeer werkt die query gewoon...
 

03/03/2007 22:51:00
Quote Anchor link
Dan wordt de pagina niet verder weergegeven.
Hij geeft de gegevens niet weer, alsof er een typfout gemaakt is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegd,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK)';


error_reporting(E_ALL); laat niets zien

EDIT: Morgen verder....
Gewijzigd op 01/01/1970 01:00:00 door
 
Joren de Wit

Joren de Wit

04/03/2007 00:17:00
Quote Anchor link
Hoogstwaarschijnlijk gaat het fout door de keuze van je aliassen. Je kiest je alias (toegevoegd, updatedatum) precies hetzelfde als de kolomnaam, en dat zal in dit geval problemen opleveren...

En wordt nu waarschijnlijk niet gekeken naar de datum kolom in de WHERE clause, maar maar de geformatteerde datum aangeduid met de alias. Maak van die aliassen dus iets als toegevoegd_formatted en updatedatum_formatted, dat zegt tenminst ook wat over de inhoud...
 

04/03/2007 10:06:00
Quote Anchor link
@Blanche

Ik heb nu de alias gewijzigd maar de pagina kan nog steeds niet weergegeven worden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegddatum,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK) ';


Dit stukje had ik ook al gewijzigd in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE toegevoegddatum >= DATE_SUB(NOW(), INTERVAL 1 WEEK) ';

maar geeft ook geen resultaat.
 
Joren de Wit

Joren de Wit

04/03/2007 10:16:00
Quote Anchor link
Zoals je de tweede keer je WHERE clause gewijzigd hebt klopt dat natuurlijk niet. Je kijkt naar de datum in de kolom toegevoegd en niet naar de geformatteerde datum toegevoegddatum.

Maar goed, controleer je of je query gelukt is? Gaat het daar fout en zo ja, welke foutmelding wordt er dan gegegeven, of gaat het ergens anders in je script fout?
 

04/03/2007 10:20:00
Quote Anchor link
Dit is de query en hij geeft op de pagina de foutmelding weer die ik daar in heb staan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegddatum,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK) ';
$result = mysql_query($query) or die ("Sorry maar ik kan de gegevens niet weergeven, probeer het later opnieuw.");
 
Joren de Wit

Joren de Wit

04/03/2007 10:29:00
Quote Anchor link
Ok, maar zoals je zelf misschien al ziet, is de foutmelding die je kiest niet erg handig (vooral niet als je nog bezig bent met scripten).

Als jij namelijk aan het debuggen bent, wil je natuurlijk ook weten wát er dan wel fout gaat. Laat dus met mysql_error() ook altijd de foutmelding zien die de mysql query genereert.
 

04/03/2007 10:31:00
Quote Anchor link
ja, niet zo slim

Dit is de foutmelding:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WEEK)' at line 1
 
Jan Koehoorn

Jan Koehoorn

04/03/2007 10:47:00
Quote Anchor link
Ik zou er zoiets van maken:

SELECT linknaam
FROM tabelnaam
WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= toegevoegd

veldnamen en tabelnaam even aanpassen naar je eigen situatie
 

04/03/2007 10:53:00
Quote Anchor link
En als Jan iets DOET is het ook GOED !!

Bedankt Jan, het werkt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.