Goede avond,

Ik wil een klassement samenstellen met gegevens die reeds in mijn database zitten,
Het gaat namelijk over hengelsportwedstrijden, waarvan ik een klassement wil van maken.

Ik kan gebruik maken van hetvolgende,

voornaam
achternaam
behaalde plaats
type wedstrijd

Nu heb ik dus het probleem met de weergave dat de namen telkens worden weergegeven

dus als jantje janssens in de database 12 x aanwezig is voor 12 wedstrijden, wordt deze mooi weergegeven en dat moet ik dus niet hebben.

Ik wil alle 12 gegevens hebben van bv jantje janssens behalve 12x de naam jantje janssens natuurlijk
dus dan wordt dit ongeveer zo weergegeven als het goed zou gaan

jantje janssens | 2 | 5 | 1 | 1 | ... enz enz totaal
fred bertels | 4 | 8 | 4 | 2 | ... enz enz totaal
.... enz enz

Ik heb iets gevonden waarmee ik het kan vergelijken op deze site

Alvast bedankt voor de hulp

<?php

$query1 = mysql_query("
SELECT *
FROM wedstrijduitslagen
INNER JOIN vissers USING (visserID)
INNER JOIN wedstrijdtype USING (wedstrijdtypeID)
INNER JOIN wedstrijddagen USING (dagenID)
INNER JOIN wedstrijdmaanden USING (maandID)
WHERE wedstrijdtypeID = 3 ORDER BY wedstrijd") or die(mysql_error());


$main .='<table>';


while ($row1= mysql_fetch_assoc ($query1)) {

$main .= "
<tr>
<td>".$row1['voornaam']. "
".$row1['achternaam']."</td>
<td>".$row1['plaats']."</td>

<td>".$row1['hoeveelste']."
".$row1['wedstrijd']."</td>
</tr>
";

}
$main .="</table>";


?>


Voorbeeldje (zelf verder uitwerken):
<?php
$sql = "
SELECT *
FROM wedstrijduitslagen
INNER JOIN vissers USING (visserID)
INNER JOIN wedstrijdtype USING (wedstrijdtypeID)
INNER JOIN wedstrijddagen USING (dagenID)
INNER JOIN wedstrijdmaanden USING (maandID)
WHERE wedstrijdtypeID = 3 ORDER BY wedstrijd
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
$voornaam = '';
while ($row = mysql_fetch_assoc ($res)) {
if ($row['voornaam'] != $voornaam) {
// echo hier de naam en de andere dingen
// die je maar EEN keer wilt laten zien
$voornaam = $row['voornaam'];
}
// echo hier de getallen achter elkaar
}
}
?>
Hey Jan,

Bedankt voor je berichtje!

Ik heb je voorbeeldje gebruikt en er een beetje mee aan het proberen geweest maar dan krijg ik maar één naam op mijn scherm.

<?php

$sql = "
SELECT *
FROM wedstrijduitslagen
INNER JOIN vissers USING (visserID)
INNER JOIN wedstrijdtype USING (wedstrijdtypeID)
INNER JOIN wedstrijddagen USING (dagenID)
INNER JOIN wedstrijdmaanden USING (maandID)
WHERE wedstrijdtypeID = 3 and weekdagID = 6
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
}
else {
$voornaam = '';
$achternaam ='';
while ($row = mysql_fetch_assoc ($res)) {
if ($row['voornaam'] != $voornaam and $row['achternaam'] != $achternaam) {
// echo hier de naam en de andere dingen
// die je maar EEN keer wilt laten zien

$voornaam = $row['voornaam'];
$achternaam = $row['achternaam'];

$main = $voornaam.'&nbsp;'.$achternaam;

}

$main .= '&nbsp;'. $row['plaats'].'&nbsp;'; // echo hier de getallen achter elkaar
}
}

?>
Als ik nu weekdag verander in visserID 3 , krijg ik alleen de naam van visserID 3 en alle punten van wedstrijdtypeID 3, dus eigenlijk zoals het moet maar dan met één naam

Als ik nu $main = $voornaam.'&nbsp;'.$achternaam; in echo $voornaam.'&nbsp;'.$achternaam; verander krijg ik de hele lijst van mijn database weer op mijn scherm

waar zit mijn fout?

Reageren