wir veranstalten ein turnier. für dieses turnier muß man sich online anmelden.
das anmelden und auslesen funktioniert.
ich möchte dass ganze noch ein wenig erweitern.
teil 1 beim auslesen klappt:
Teilnehmerstatisktik
Bisher sind insgesamt 84 Meldungen zum Turnier 2009 bei uns eingegangen!
Welcher Verein hat die meisten Teilnehmer?
Teilnehmer Damen: 7 zu den gemeldeten Teilnehmer Damen
Teilnehmer Herren A: 17 zu den gemeldeten Teilnehmer Herren A
Teilnehmer Herren B: 31 zu den gemeldeten Teilnehmer Herren B
Teilnehmer Herren C: 29 zu den gemeldeten Teilnehmer Herren C
darunter würd ich jetzt gerne haben teil 2 haben, der folgendermaßen aussehen sollte:
tabelle
anzahl (teilnehmer) und verein
bsp. 4 / ttv musterhausen
3 / ttv mustermann
2 / ttv musterfran
…
…
nur wie kann ich teil 2 realisieren?
mein code:
include "../zugang_2.php.inc";
error_reporting(E_ALL);
$sql = "
SELECT turnierklassen.name, turnierklassen.url, COUNT(ppc_anmeldungen.id) AS anzahl FROM turnierklassen
LEFT JOIN ppc_anmeldungen ON turnierklassen.id = ppc_anmeldungen.turnierklasse
GROUP BY turnierklassen.id
ORDER BY turnierklassen.name";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
$result = mysql_query ( $sql );
$teilnehmerliste="";
$anzahl="";
while (list($turnierklasse, $url ,$teilnehmeranzahl) = mysql_fetch_row ($result))
{
if ($teilnehmeranzahl >= 0) {
$teilnehmerliste.='Teilnehmer ' . $turnierklasse . ': <b>' . $teilnehmeranzahl . '</b> zu den gemeldeten Teilnehmer ' . $url . '<br>';
$anzahl= $anzahl + $teilnehmeranzahl;
}
}
echo "<p>Bisher sind insgesamt <b> ".$anzahl." </b> Meldungen zum Turnier 2009 bei uns eingegangen!</p>";
echo "<p>Welcher Verein hat die meisten Teilnehmer?</p>\n";
echo $teilnehmerliste;
$sql = "
SELECT id, verein FROM ppc_anmeldungen WHERE turnierklasse";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
echo "<br>";
echo "<br>";
echo "<table width=\"80%\" border=\"1\" cellpadding=\"3\" cellspacing=\"0\">";
echo "<tr>";
echo "<td></td>";
echo "<td>Verein</td>";
echo "</tr>";
$anzahl = 1;
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $anzahl . "</td>";
echo "<td>". $zeile['verein'] . "</td>";
echo "</tr>";
$anzahl++;
}
echo "</table>";
mysql_free_result( $db_erg );
mysql_close($link);
echo "<br>";
<?php
$dat = mysql_query("SELECT verein FROM ppc_anmeldungen");
$vereine = array();
while($verein = mysql_fetch_object($dat)) {
if(!in_array($verein->verein, $vereine))
array_push($vereine, $verein->verein);
}
?>
Sollte mal n lösungsansatz sein
am ende dieses Codes erhälst du in $vereine ein Array, mit allen angemeleten Vereinen. (Habs nicht ausprobiert)
[size=85]selbstverständlich kannst du auch mysql_fetch_row anstelle von mysql_fetch_object nehmen, dann musst du einfach noch den folgecode anpassen [/size]
Ehm ich glaube das sollte gehen, aber frag nicht mich, sondern michi7x7
Ne, kannst mal das probieren, bin mir aber nicht sicher, ob es nicht funktionert
SELECT verein, COUNT(*) as count FROM ppc_anmeldungen GROUP BY verein ORDER BY COUNT(SELECT verein, COUNT(*) as count FROM ppc_anmeldungen GRPOUP BY verein)
ja mit michi´s code werden die teilnehmer sortiert, allerdings ist der verein mit den meisten teilnehmern am ende und der mit den wenigsten am anfang. würde dass aber gerne umgekehrt haben, also meiste teilnehmer am anfang und wenigste am ende der tabelle.
ich habe bei einer anderen datei wieder ein kleines problem. ich würde gerne nach datum sortieren lassen. wie muß ich dass angeben??
im monent sieht mein code so aus:
$sql = "
SELECT id, nachname, vorname, verein, timestamp FROM ppc_anmeldungen WHERE turnierklasse = '1'";
sollte der code dann so aussehen?
$sql = "
SELECT id, nachname, vorname, verein, timestamp FROM ppc_anmeldungen WHERE turnierklasse = '1' ORDER BY timestamp DESC";