mysql query volgende week

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jens V

Jens V

31/10/2006 10:26:00
Quote Anchor link
ik meot een query kunnen maken zodat die alles van de volgende week laat zien...

Daarvoor had ik die cronjob(http://www.phphulp.nl/forum/showtopic.php?id=24229&cat=1) gemaakt.
het probleem is nu:

Hoe kan ik de server elke zaterdag een mail laten zenden met daarin ALLE events van die volgende week, tot en met vrijdag?

Als iemand me de query/queries kan geven, heb ik al genoeg ;)
In de db staan velden met dag, maand, jaar...
 
PHP hulp

PHP hulp

18/11/2024 18:34:27
 
Joren de Wit

Joren de Wit

31/10/2006 10:38:00
Quote Anchor link
Zijn die velden dag, maand, jaar aparte velden? Zo ja, waarom heb je ze dan niet samen staan in 1 DATE veld? Een combinatie van jaar-maand-dag levert toch een datum op?

Stel dat ze wel in 1 date veld met de naam 'datum' staan. Om alle events van de zondag-vrijdag te laten zien. Werkt natuurlijk alleen als het script op zaterdag aangeroepen wordt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT event
FROM tabel
WHERE datum BETWEEN
    DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND
    DATE_ADD(CURDATE(), INTERVAL 7 DAY)


Als je dag, maand en jaar in aparte velden van (neem ik aan) het type INT hebt staan wordt het allemaal veel lastiger. Je kunt wel 7 dagen bij de huidige dag optellen, maar wat nu als het vandaag 30 oktober is. Dan is het op die manier over 7 dagen dus 37 oktober.

Kortom, de query wordt dan lang en lastig.
 
Jens V

Jens V

31/10/2006 10:43:00
Quote Anchor link
oke, merci, ik zal eens kijken wat ik ermee kan doen ;)
 
Jens V

Jens V

05/11/2006 15:20:00
Quote Anchor link
even hierop terug grijpen;

hoe kan ik nu ,als ik al mijn dag, maand en jaar velden heb omgezet tot één data veld, daaruit halen dat ik op een plaats maand 1 wil laten zien, op een volgende plaats maand 2, enzovoort?

Daarvoor deed ik dat met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$sql
= "SELECT * FROM agenda WHERE month = 1 AND year = '$year' ORDER BY day, uur, minuut ASC";
?>



Greetings
 
Stefan van Iwaarden

Stefan van Iwaarden

05/11/2006 16:07:00
Quote Anchor link
zorg dat je veld daadwerkelijk een date of datetime veld is, anders werkt het nog niet. en dan kun je een query zoals onderstaand toepassen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT * FROM agenda WHERE MONTH(datum) = MONTH(CURDATE())";
?>


deze query selecteert dan alles van de huidige maand. de rest kun je dan zelf wel bedenken toch? ;)
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Jens V

Jens V

05/11/2006 16:09:00
Quote Anchor link
merci;) zo lukt het:)
 
K i p

K i p

05/11/2006 16:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT * FROM agenda WHERE TIMEDIFF NOW() , DATE_ADD(NOW(), INTERVAL 7 DAY)";
?>


Kan zoiets niet?
 
Jens V

Jens V

05/11/2006 16:13:00
Quote Anchor link
voor het selecten werkt het,
maar als ik nu wil adden, dan geeft die rare dingen, wss omdat ik getallen aftrek van elkaar..
dit is de insert query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
mysql_query("INSERT INTO agenda (id, datum, day, month, year, uur, minuut, event, wie, bijwie, plaats) VALUES ('', '$year-$month-$day', '$uur', '$minuut', '$event', '$wie', '$bijwie', '$plaats')") or die(mysql_error());
?>


als error geeft ie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Column count doesn't match value count at row 1
 
Jens V

Jens V

05/11/2006 16:14:00
Quote Anchor link
oei, zie da fout wss al :$
 
K i p

K i p

05/11/2006 16:16:00
Quote Anchor link
Dus, heb je het nu werkend?
 
Jens V

Jens V

05/11/2006 16:19:00
Quote Anchor link
ja;)
ik had id, datum, day, month, year,....
waar het alleen id, datum, ... moest zijn ;)
 
Stefan van Iwaarden

Stefan van Iwaarden

05/11/2006 16:19:00
Quote Anchor link
@Jens,

om dat soort fouten te voorkomen adviseer ik je een query als volgt op te schrijven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
mysql_query("INSERT INTO
                    agenda (
                        datum,
                        day,
                        month,
                        year,
                        uur,
                        minuut,
                        event,
                        wie,
                        bijwie,
                        plaats)
                    VALUES ('"
.$year."-".$month."-".$day."',
                            '"
.$uur."',
                            '"
.$minuut."',
                            '"
.$event."',
                            '"
.$wie."',
                            '"
.$bijwie."',
                            '"
.$plaats."')
                        "
) or die(mysql_error());
?>


Kijk ook even naar hoe ik de variabelen heb opgeschreven.

En nog belangrijker, id moet je zelf geen waarde geven, je moet hem niet in je query opnemen, want de database geeft die zelf wel een waarde, tenminste als je hem op auto-increment hebt staan.

En hoe je nu de datum in de database zet, tja, het is wel goed, maar beter is NOW() om te gebruiken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
VALUES (NOW(),
        '".$uur."',
?>

zo dus.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Jens V

Jens V

05/11/2006 16:21:00
Quote Anchor link
oké, is inderdaad overzichtelijker..

Ik zal erop letten;)
Bedankt :)
 
Jens V

Jens V

05/11/2006 16:23:00
Quote Anchor link
Stefan van Iwaarden schreef op 05.11.2006 16:19:
En hoe je nu de datum in de database zet, tja, het is wel goed, maar beter is NOW() om te gebruiken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
VALUES (NOW(),
        '".$uur."',
?>

zo dus.


hoe zit dat precies?
 
Robert Deiman

Robert Deiman

05/11/2006 16:26:00
Quote Anchor link
NOW() is een MySQL functie die de huidige datum en tijd retourneerd. Die kan je gewoon gebruiken om je datum mee te vullen, is gemakkelijker dan de PHP functie te gebruiken.
 
Jens V

Jens V

05/11/2006 16:27:00
Quote Anchor link
ok, thx :)
 



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.