Ik ben bezig met een uitslagen pagina.

Mijn doel is om verschillende speelronde's gegroepeerd onder elkaar te krijgen.

Tot nu toe krijg ik dit: http://www.quickboysb5.nl/a6/uitslagen.php

Ik wil graag dit:

Speelronde 10-07-2008
VVSB A4 - Valken'68 A2 4 - 6
Speelronde 05-06-2008
GHC A3 - Quick Boys A6 1 - 1
UDO A2 - Lugdunum A1 4 - 2
Speelronde 10-01-2008
Lisse A5 - Rijnsburgse Boys A4 2 - 1

Ik heb verschillende dingen geprobeerd o.a. met Group by en met een if..else relatie

Dit lukt alleen niet.

Dit is de code:
<table border=1>
<?php
$res = mysql_query("SELECT wedstrijden . * , (

SELECT clubnaam
FROM clubs
WHERE club_id = thuisploeg_id
) AS thuis, (

SELECT clubnaam
FROM clubs
WHERE club_id = uitploeg_id
) AS uit
FROM wedstrijden
WHERE type_id =1
ORDER BY datum DESC , tijd ASC
");




while ($row = mysql_fetch_assoc($res) or die (mysql_error())) {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["thuis"];

$uitploeg = $row["uit"];
$uitslag = $row["uitslag_thuis"] . " - " . $row["uitslag_uit"];
if ($NLdate == $NLdate-1)
{}
else
{
echo "<tr><td colspan=3>Speelronde ".$NLdate."</td></tr>";
}
echo "<tr><td>".$thuisploeg."</td><td> &nbsp;&nbsp; - &nbsp;&nbsp; ".$uitploeg."</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ".$uitslag."</td></tr>";
}
?>
</table>

Mijn database zit als volgt in elkaar:
Database clubs: met velden club_id en clubnaam
Database wedstrijden: met velden wedstrijd_id, thuisploeg_id, uitploeg_id, datum, uitslag_thuis, uitslag_uit en tijd

Kan iemand mij helpen?
Je datum zit waarschijnlijk gewoon opgeslagen als een string.

Het veld datum moet van het type Date zijn, dan kan MySQL er mee om. Anders wordt het gewoon alfabetisch gesorteerd.

Lees dit eens:
http://phphulp.nl/php/tutorials/3/519/
Is 'datum' wel een DATE of DATETIME veld?

Edit: En dit is natuurlijk onzin:
if ($NLdate == $NLdate-1)

Als 5 == 4 is ongeveer hetzelfde.
In de database staat de datum gewoon als Date

Ik zoek alleen een oplossing om de wedstrijden van de zelfde speelronde onder één datum te krijgen.

De rest van het script werkt uitstekend, alleen de if .. else functie werkt niet, maar ik heb geen flauw idee hoe ik die werkend zou kunnen krijgen.

Wat zou ik bij $NLdate = $NLdate-1 moeten zetten?
Arnold schreef op 13.08.2008 13:33
Wat zou ik bij $NLdate = $NLdate-1 moeten zetten?

Jij weet wat je aan het maken bent, ik niet.
even voor de duidelijkheid: ik ben samen met arnold aan het proberen dit script op te zetten.

wat is nu precies de bedoeling:
We hebben de database wedstrijden, met de velden wedstrijd_id, thuisploeg_id, uitploeg_id, datum (FORMAAT: DATE) , tijd, uitslag_thuis en uitslag_uit.

Om het netjes weer te geven op de site (dus niet als 1 lange lap wedstrijden) hadden wij het idee om het per datum te groeperen.

Er worden bijvoorbeeld 5 wedstrijden gespeeld op 14-08-2008 en nog 2 op 15-08-2008.

Nu wilde we dat als volgt weergeven:

kopje: 14-08-2008
-------------------------------------------------------- (lijntje)
en dan hier de 5 wedstrijden van die dag

(3 enters ofzo iets)

kopje: 15-08-2008
---------------------------------------------------------(lijntje)
en dan hier de 2 wedstrijden van die dag


we hebben samen al op internet gezocht, maar hebben beide geen idee of er zo'n functie bestaat in MYSQL (of dat je het php kan oplossen) en hoe je die dan ook noemt. Wij dachten GROUP BY maar die is het niet.

hier nog een voorbeeldje: http://www.quickboysb5.nl/a6/uitslagen.php
de wedstrijd van UDO moet dus onder die van GHC komen of andersom (let even niet op de opmaak)

Weet iemand een oplossing?

ps: dat if else gedoe wat bijna onderaan de code staat is natuurlijk onzin!

EDIT: dit topic hoort natuurlijk in het database gedeelte, misschien kan een moderator het topic verplaatsen?
Precies wat ik bedoelde michel

Reageren