[mysql] data naar weken

Pagina: 1
Acties:

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ik heb een tabel met daarin data:

Datum inhoud

01-04-2004 blabla
02-04-2004 blabla
03-04-2004 blabla
04-04-2004 blabla
05-04-2004 blabla
06-04-2004 blabla
07-04-2004 blabla
08-04-2004 blabla

etc.

Nu wil ik met een query, eventueel met tussenkomst van een php functie oid, weken ophalen uit de database bv week 13 is van 01-04-2004 tot 07-04-2004 etc. Ook rekening houdende met het feit dat sommige weken niet helemaal compleet zijn (datum wordt dagelijks weggeschreven, dus het kan gebeuren dat zondag de week pas compleet is).

Hoe zet ik die data in de database om naar week nummers die ik dan kan tonen?

Ik snap dat ik van de datum eerst het weeknummer moet bepalen en dan alle data van dezelfde week op het scherm moet zetten.

Verwijderd

http://dev.mysql.com/doc/...e_and_time_functions.html

Je hebt hier een WEEK() functie voor.

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Je kan geen query uitvoeren, ipv een datum op te geven, die iets doet als SELECT foo WHERE WEEK(13) oid ?

  • marco_balk
  • Registratie: April 2001
  • Laatst online: 15-05 13:37
ViNyL schreef op 08 juli 2004 @ 11:28:
Je kan geen query uitvoeren, ipv een datum op te geven, die iets doet als SELECT foo WHERE WEEK(13) oid ?
Ik snap je niet helemaal. Bedoel je zoiets?:

Select bla from tja where Week(datum) = X

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Nee meer iets als SELECT alle data die in de week vallen, gegevens van die data WHERE WEEK(weeknummer)

Verwijderd

Zoiets is inderdaad mogelijk. Als je bijvoorbeeld het aantal bytes in week 13 wilt hebben:

code:
1
SELECT SUM(bytes) FROM log WHERE WEEK(date)=13


Of:

code:
1
SELECT * FROM log WHERE WEEK(date)=13

[ Voor 17% gewijzigd door Verwijderd op 08-07-2004 11:34 ]


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Dus ik zou ook gewoon velden kunnen selecteren. Hmm eens ff kijken.

edit:

Ik heb nu
PHP:
1
2
3
4
5
6
include('dbconnect.php');
$query = mysql_query ("SELECT afdelingnaam, datum FROM kosten WHERE WEEK(date)=13");
while ($r = mysql_fetch_array($query))
 {
 echo "{$r['afdelingnaam']} -{$r['datum']} ";
 }


Maar dan krijg ik deze melding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /path/bestand.php on line 11

[ Voor 75% gewijzigd door ViNyL op 08-07-2004 11:48 ]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

ViNyL schreef op 08 juli 2004 @ 11:34:
Maar dan krijg ik deze melding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /path/bestand.php on line 11
Zet anders eens een "or die(mysql_error())" achter je "$query....."

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Hij doet het al. Ik had bij de melding dat er nix gevonden was een foutje zitten. Ik krijg nu keurig een overzichtje van de data in die week.

Bedank allen!

PHP:
1
2
3
4
5
6
7
8
9
10
include('dbconnect.php');
$query = mysql_query ("SELECT naam, datum FROM kosten WHERE WEEK(datum, 1)=27");
if (mysql_num_rows($query) < 1) 
{
echo "nix gevonden";
};
while ($r = mysql_fetch_array($query))
{
echo "{$r['naam']} -{$r['datum']}<br/> ";
}

[ Voor 24% gewijzigd door ViNyL op 08-07-2004 11:54 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

SELECT afdelingnaam, datum FROM kosten WHERE WEEK(date)=13
datum, date.. make up your mind...

Maar niks wat een mysql_error() je inderdaad niet had kunnen vertellen..

[edit]
Ah.. je had het al opgelost dus..

[ Voor 11% gewijzigd door Bosmonster op 08-07-2004 11:55 ]


Verwijderd

ViNyL schreef op 08 juli 2004 @ 11:34:
Dus ik zou ook gewoon velden kunnen selecteren. Hmm eens ff kijken.


Ik heb nu
PHP:
1
2
3
4
5
6
include('dbconnect.php');
$query = mysql_query ("SELECT afdelingnaam, datum FROM kosten WHERE WEEK(date)=13");
while ($r = mysql_fetch_array($query))
 {
 echo "{$r['afdelingnaam']} -{$r['datum']} ";
 }


Maar dan krijg ik deze melding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /path/bestand.php on line 11
Probeer eens ... WHERE WEEK(date)=13 te vervangen door ... WHERE WEEK(datum)=13.

edit: Te laat ...

[ Voor 8% gewijzigd door Verwijderd op 08-07-2004 11:59 ]


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
lol ik wist niet dat tussen WEEK(datum) dat dus tussen die haakjes de rij naam moest staan zodat ie daar gaat zoeken naar data die in het week nummer vallen. Vrij logisch maar ik zag het ff niet :)
Pagina: 1