Archief - PHP: Weergave per dag van bv News

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

orez

Legacy Member
Kzoek iets dat weergave per week of dag doet in het formaat zoals op de main games.telenet site dat je dus ziet staan

Maandag 2 maart 2005
- Titels nieuwsberichten
Zondag 1 maart 2005
- Titels nieuwsberichten

enzovoort..

Ik heb nu enkel ne lijstje met nieuwsberichten met de nieuwste telkens vanboven, ma kzou et graag zoals bovenstaand voorbeeld willen weergeven.

Iemand een ideetje?

edit: Tgaat em wel ni over de format van de datum ;) da weetk ondertss wel dak da met date_format in mn SQL query moet/kan doen :)

Fr3aK

Legacy Member
Werk met SELECT DISTINCT dag, maand, jaar FROM tabel
Dan krijg je de datum van verschillende nieuwsberichten (van dezelfde dag) maar 1 keer.
En dan kan je per datum de berichten uitlezen.
Klinkt ingewikkeld maar is het niet ;)

orez

Legacy Member
Fr3aK zei:
Werk met SELECT DISTINCT dag, maand, jaar FROM tabel
Dan krijg je de datum van verschillende nieuwsberichten (van dezelfde dag) maar 1 keer.
En dan kan je per datum de berichten uitlezen.
Klinkt ingewikkeld maar is het niet ;)

een voorbeeld? want ben ni echt mee
in menne database staat de postdate allemaal in 1 veldje.

Dus 2005-02-22 23:44:55 bv... maja kannek oplossen door date_format(postdate, '%d') As Day enz...

Als ik je probeer te begrijpen, (SELECT DISTINCT is unieke waarden alsk mij ni vergis) neem je de dag van het bericht, in combinatie met de maand en het jaar... controleer je als deze 3 uniek zijn.

Da snap ik... maar de verdere uitwerking? :unsure:

Fr3aK

Legacy Member
Ge krijgt dus een lijstje met unieke dagen (dag,maand,jaar) en elke rij uit die lijst is een bepaalde dag. Aan de hand van dat lijstje selecteer je per dag die nieuwsberichten.
Je moet dus wel zien dat dag, maand en jaar een aparte kolom krijgen.
Hier volgt een simpele voorstelling:

Code:
select distinct dag, maand, jaar from nieuwsberichten
while (distinct-lijstje) {
  select * from nieuwsberichten where dag='dag(van distinct-lijstje)' AND maand='maand(van distinct-lijstje)' AND jaar='jaar(van distinct-lijstje)'
  while (nieuwsberichten-lijstje) {
    toon de nieuwsberichten van die dag
  }
}

Ik hoop dat dit duidelijk genoeg was :p

Ramm

Legacy Member
Ofwel uw data normaal uitlezen, en dan gewoon controleren als het een nieuwe datum is (ik zal het nu in ASP doen, maar in PHP is het +- hetzelfde)

Code:
old_date  = ""
new_date = ""
strSQL = "SELECT post_date, topic FROM news ORDER BY post_date DESC;"
rsNews.open strSQL, adoCon

do while not rsNews.eof
  new_date = cdate(rsNews("post_date"))
  topic        = rsNews("topic")

  if new_date <> old_date then
     response.write("<b>" & new_date & "</b><br />")
  end if
  response.write("  <a href=""#"">" & topic & "</a><br />")

  old_date = new_date

  rsNews.movenext
loop

DarkBone

Legacy Member
Doe het op de manier van Ramm aub!! Zoiets heet groepsbreking.
Gewoon 1 simpel SELECT statement, geordent op datum.
Je houdt de oude datum bij (de eerste keer is dit de dummy waarde waarop je de variabele initialiseert), en als de huidige datum verschilt van de oude datum, dan print je de datum af. Het nieuwsbericht toon je gewoon iedere keer.

orez

Legacy Member
DarkBone zei:
Doe het op de manier van Ramm aub!! Zoiets heet groepsbreking.
Gewoon 1 simpel SELECT statement, geordent op datum.
Je houdt de oude datum bij (de eerste keer is dit de dummy waarde waarop je de variabele initialiseert), en als de huidige datum verschilt van de oude datum, dan print je de datum af. Het nieuwsbericht toon je gewoon iedere keer.

kheb et nu opgelost ze :) toch tnx... kga et nu laten zoals et is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan