[php] nieuwssysteem duidelijke markering per datum

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

Acties:
  • 0 Henk 'm!

  • Phydomir
  • Registratie: September 2000
  • Laatst online: 08:22
ik heb nu het volgende script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 

    mysql_connect ("localhost","", "") or 
         die ("Could not connect to database"); 

    mysql_select_db("nieuwssubmit") or 
        die ("Could not find database"); 

    $query = "SELECT id, titel FROM nieuws ORDER BY id DESC LIMIT 0, 10"; 

    $resultaat = mysql_query($query) or die ("query mislukt"); 

    while ($obj = mysql_fetch_object($resultaat)){ 
   
    echo "<A HREF='toonbericht.php?id=$obj->id'>$obj->titel</A><BR>"; 
} 
?>

Werkt allemaal leuk en aardig, hij haal de laaste 10 berichten uit de database en zet die op volgorde van nieuwste onder elkaar.

Maar er moet toch ook een manier zijn waardoor php er een <br> tussen de verschillende dagen zet (dus je krijgt eerst bv. 4 berichtjes van dinsdag, dan een <br> en daarna de berichten van maandag.

ook moet het mogelijk zijn om dan bv. boven alle berichten van maandag de datum van maandag neer te zetten en boven alles van dinsdag de datum van dinsdag.

Alleen heb ik gene flauw idee over hoe ik dat zou moeten maken.

edit: een beetje dus zoals op [url="http://www.gamers.nl/"]http://www.gamers.nl/[/url] het geval is. Alleen hoef ik de tijd er niet voor en niet het aantal reacties er achter

iRacing | Sim Gear: SimXperience AccuForce, Heusinkveld Pro, Custom 80/20 rig, Sparco R100 Sky


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Wat is het probleem ?

Ik neem aan dat je zelf kan ZIEN in de database waar de scheiding zou moeten toch ?

Nou .. zorg nu dus ff dat je script etzelfde denkt als dat jij doet als je de scheiding maakt en laat em op die plek een <br> printen.

Snap het probleem niet zo ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien zo:

SELECT id, titel, datum FROM nieuws order by datum desc

Dan loop je door de resultaten. Voordat je loop begint initialiseer je een datum variabel op nul.

Loop door je resultaten, zodra de datum anders is dan de datum in de variabel druk je een tussenkopje / linebreak af en zet je de zojuist opgehaalde datum naar de variabel.

Hoe je dat syntactisch aanpakt in PHP kun je zelf wel uitvissen lijkt me.

Acties:
  • 0 Henk 'm!

  • Phydomir
  • Registratie: September 2000
  • Laatst online: 08:22
Op vrijdag 19 juli 2002 12:47 schreef Grum het volgende:
Wat is het probleem ?

Ik neem aan dat je zelf kan ZIEN in de database waar de scheiding zou moeten toch ?

Nou .. zorg nu dus ff dat je script etzelfde denkt als dat jij doet als je de scheiding maakt en laat em op die plek een <br> printen.

Snap het probleem niet zo ;)
erm... dat ie dat moet dan snap ik ook wel, maar HOE moet ik zoiets doen. hintje waar ik het moet zoeken?

iRacing | Sim Gear: SimXperience AccuForce, Heusinkveld Pro, Custom 80/20 rig, Sparco R100 Sky


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Basic if/else gebruik en variabelen setten ?

Meer heb je echt niet nodig ..
code:
1
2
3
4
5
6
7
8
9
10
11
12
[pseudo]
dag = iets_wat_een_dag_nooit_kan_zijn
while( results )
{
   if( results.dag != dag )
   {
    print &quot;Het is deze dag nu!&quot;;
    dag = results.dag
   }
   print results.data
}
[/pseudo]

geen rocketscience toch ?

Acties:
  • 0 Henk 'm!

  • Phydomir
  • Registratie: September 2000
  • Laatst online: 08:22
Op vrijdag 19 juli 2002 12:53 schreef Grum het volgende:
Basic if/else gebruik en variabelen setten ?

Meer heb je echt niet nodig ..
code:
1
2
3
4
5
6
7
8
9
10
11
12
[pseudo]
dag = iets_wat_een_dag_nooit_kan_zijn
while( results )
{
   if( results.dag != dag )
   {
    print &quot;Het is deze dag nu!&quot;;
    dag = results.dag
   }
   print results.data
}
[/pseudo]

geen rocketscience toch ?
nee, maar ik ben nog maar een php n00bje dus wat voor jou heel makkelijk is is voor mij vrij moeilijk :P

iRacing | Sim Gear: SimXperience AccuForce, Heusinkveld Pro, Custom 80/20 rig, Sparco R100 Sky


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Waarom ?

Dit is toch PRECIES wat je in je kop zou doen ?
code:
1
2
3
4
5
6
7
8
9
10
1/ ik weet nog geen dag dus de eerste is meteen een print
2/ nog resultaten ?
  - Ja, pak resultaat
    3/ dag etzelfde ? 
    - Ja, Nix doen.
    - Nee, Ok dag printen!
    4/ print de data
    5/ terug naar 2
  - Nee, op naar 6
6/ klaar!

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Het is genoeg, er staan genoeg aanwijzingen hoe je het kunt oplossen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.