Toon posts:

[PHP] Sql pakt verkeerde week bij verjaardag script

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik wil de verjaardagen van deze week eruit trekken, maar met deze query:

$q="SELECT naam, team, geboortedatum FROM spelers WHERE WEEK(geboortedatum) = WEEK(NOW()) ORDER BY SUBSTRING(geboortedatum,8,10) DESC";

Pakt hij degene die in deze week zijn geboren, dus niet die jarig zijn.. Mijn formaat is DATE.. Hoe krijg ik ze er goed uit, ik wil alleen verjaardagen van deze week tonen?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Verwijderd schreef op 08 September 2003 @ 18:56:
Pakt hij degene die in deze week zijn geboren, dus niet die jarig zijn.. Mijn formaat is DATE.. Hoe krijg ik ze er goed uit, ik wil alleen verjaardagen van deze week tonen?
Die zijn dan jarig!

Die substring is trouwens niet zo netjes, wat wil je er precies uit halen?

[ Voor 12% gewijzigd door djluc op 08-09-2003 18:59 ]


Verwijderd

Topicstarter
Nope, het kan ook zijn dat je in week 31 geboren bent, maar dat je verjaardag nu valt in week 30.. Hoe los ik dit op?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Verwijderd schreef op 08 September 2003 @ 18:58:
Nope, het kan ook zijn dat je in week 31 geboren bent, maar dat je verjaardag nu valt in week 30.. Hoe los ik dit op?
Neem de eerste dag van deze week en de laatste:
WHERE datum>eerstedatum AND datum<laatstedatum

Verwijderd

Topicstarter
mm, hoe pak ik de eerste en laatste dag van een week?

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Verwijderd schreef op 08 september 2003 @ 19:02:
mm, hoe pak ik de eerste en laatste dag van een week?
lezen?


Journalism is printing what someone else does not want printed; everything else is public relations.


Verwijderd

Topicstarter
Nee, ik zie niet hoe de query precies moet worden. Ik kan ook nergens een voorbeeld vinden.. Kan ik niet met php aan begin en eind van de week komen?

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Verwijderd schreef op 08 September 2003 @ 19:13:
Nee, ik zie niet hoe de query precies moet worden. Ik kan ook nergens een voorbeeld vinden.. Kan ik niet met php aan begin en eind van de week komen?
Ja, dat kan: http://nl3.php.net/manual/en/function.date.php

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Wat dacht je van deze jolige oplossing:
SQL:
1
2
3
4
5
6
7
SELECT naam, team, geboortedatum  FROM spelers 
WHERE
 WEEK(CONCAT(
  DATE_FORMAT( NOW(  ) ,  '%Y-'  ),    
  DATE_FORMAT(geboortedatum, '%m-%d'))
 ) 
= WEEK(NOW())
:*)
(Voor de ORDER BY mag je zelf iets moois verzinnen)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • CAP-Team
  • Registratie: April 2000
  • Laatst online: 21-08 17:01

CAP-Team

XBL: CAPTeam

alleen jammer dat je dan het feit wat hierboven ook al is aangestipt, je niet ondervangt dat je dit jaar in week 20 jarig kunt zijn, en dat dat volgend jaar bijv. week 21 kan zijn.

Microsoft Surface Pro 6 | Samsung Galaxy S21FE | XBOX Series X


  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 21-08 22:16
Verwijderd schreef op 08 September 2003 @ 19:02:
mm, hoe pak ik de eerste en laatste dag van een week?
Je kan toch gewoon deze week inlezen, en dan de zondag als "eerstedag" en de zaterdag erna als "laatstedag" gebruiken, zoals in het voorbeeld van djluc?

Je moet even de omschakeling in je kop gaan maken dat je af moet van de week, maar moet gaan werken met datums (data :?).

Voorkauwmodus: php-en naar de datum van de zondag en de datum van de zaterdag erna, deze in een where gooien, en je hebt de jarigen van deze week.

Maar, om maar meteen verder te gaan, waarom selecteer je niet gewoon iedereen die vanaf NU binnen een week jarig is? De datum van NU weet je, tel er zeven dagen bij op, en selecteer tussenliggende data. Mooi weergeven en klaar is kees. Of basschoen in dit geval.

Sometimes you need to plan for coincidence


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Dan weet je niet de mensen die in deze week jarig zijn, maar de mensen die de komende 7 dagen jarig zijn. Overigens gaan we er van uit dat een week op zondag begint en op zaterdag eindigd?

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
CAP-Team schreef op 08 September 2003 @ 21:28:
alleen jammer dat je dan het feit wat hierboven ook al is aangestipt, je niet ondervangt dat je dit jaar in week 20 jarig kunt zijn, en dat dat volgend jaar bijv. week 21 kan zijn.
Dit is *exact* wat ik ondervang. Of reageer je nu op iemand anders?

[ Voor 3% gewijzigd door bigtree op 08-09-2003 23:19 ]

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • smaij
  • Registratie: November 2000
  • Laatst online: 09:57
misschien een zinvolle toevoeging.. het uitrekenen van hoe oud de jarige jop word.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//deze maand
$sql = "SELECT
 ROUND(ABS(PERIOD_DIFF(DATE_FORMAT(Geboortedatum, '%Y%m'), 
 DATE_FORMAT(NOW(), '%Y%m')) / 12)) as Leeftijd, 
 DATE_FORMAT(Geboortedatum, '%d') as GDATE, 
 Naam 
FROM users 
WHERE MONTH(Geboortedatum) = MONTH(NOW()) 
ORDER BY DAYOFMONTH(Geboortedatum) ASC";

//volgende maand

$sql = "SELECT 
 ROUND(ABS(PERIOD_DIFF(DATE_FORMAT(Geboortedatum, '%Y%m'), 
 DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 MONTH), '%Y%m')) / 12)) as Leeftijd, 
 DATE_FORMAT(Geboortedatum, '%d') as GDATE, 
 Naam 
FROM users 
WHERE MONTH(Geboortedatum) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH))
 ORDER BY DAYOFMONTH(Geboortedatum) ASC";

[ Voor 18% gewijzigd door smaij op 08-09-2003 23:26 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

</voorkauwmodus></allesvoordoemodus></doezelfookeenswatinplaatsvaniederescheethiertekomenvragen>

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.