Zur Navigation

formular [6]

51 tobi

so ich habe nunmal wieder ein wenig zeit gefunden zu testen.
da dass turnier bald ansteht, habe ich meine testeinträge in der datenbank gelöscht, sodass diese jetzt leer ist.

als noch was in der db stand hatte ich folgendes ergebnis:
Aktuelle Teilnehmerübersicht:
Bisher sind insgesamt 15 Meldungen zum Turnier 2009 bei uns eingegangen!
Teilnehmer Damen: 3 zu den gemeldeten Teilnehmer Damen
Teilnehmer Herren A: 4 zu den gemeldeten Teilnehmer Herren A
Teilnehmer Herren B: 6 zu den gemeldeten Teilnehmer Herren B
Teilnehmer Herren C: 2 zu den gemeldeten Teilnehmer Herren C

nachdem die db leer ist, zeigt er mir nur noch dass an:
Aktuelle Teilnehmerübersicht:
Bisher sind insgesamt 0 Meldungen zum Turnier 2009 bei uns eingegangen!
Teilnehmer Damen: 0 zu den gemeldeten Teilnehmer Damen

die anderen 3 teilnehmer zeigt er gar nicht an!

was läuft hier schief?

$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 ppc_anmeldungen.turnierklasse 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><b>Aktuelle Teilnehmerübersicht:</b></p>";
echo "<p>Bisher sind insgesamt <b> ".$anzahl." </b> Meldungen zum Turnier 2009 bei uns eingegangen!</p>";
echo $teilnehmerliste;

mysql_close($link);

17.05.2009 14:17

52 User 794 (Ex-Mitglied)

Wie können dir die "Teilnehmer Damen" angezeigt werden, wenn die Datenbank leer ist? Ein Eintrag "Damen" muss ja mindestens existieren.

17.05.2009 15:53

53 tobi

warum?

wenn teilnehmer zahl 0 dann soll auch null erscheinen, dazu muß kein eintrag in der db notwendig sein

es soll ja so aussehen, wenn nix in der db steht:

Aktuelle Teilnehmerübersicht:
Bisher sind insgesamt 0 Meldungen zum Turnier 2009 bei uns eingegangen!
Teilnehmer Damen: 0 zu den gemeldeten Teilnehmer Damen
Teilnehmer Herren A: 0 zu den gemeldeten Teilnehmer Herern A
Teilnehmer Herren B: 0 zu den gemeldeten Teilnehmer Herern B
Teilnehmer Herren C: 0 zu den gemeldeten Teilnehmer Herern C

17.05.2009 16:06 | geändert: 17.05.2009 16:07

54 Jörg Kruse

Zitat von Pastewko
Wie können dir die "Teilnehmer Damen" angezeigt werden, wenn die Datenbank leer ist? Ein Eintrag "Damen" muss ja mindestens existieren.

Bei einem LEFT JOIN sollte es reichen, wenn es in der "linken" Tabelle einen Eintrag gibt.

@Tobi:
Die Herrenklassen sind in der Tabelle turnierklassen aber noch enthalten?

17.05.2009 22:53

55 tobi

ja alles noch da, nur den inhalt habe ich gelöscht damit die db leer ist

17.05.2009 23:37

56 Jörg Kruse

Also auch den Inhalt von turnierklassen gelöscht? Den musst du entsprechend neu wieder anlegen

18.05.2009 00:10

57 tobi

nur das was ich in der datenbank beim eintragen gespeichert habe, dass habe ich gelöscht.

18.05.2009 00:14

58 Jörg Kruse

Also hast du aus turnierklassen nichts rausgelöscht?

Was ergibt denn diese Abfrage:

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

18.05.2009 00:50

59 tobi

wenn ich deine abfrage benutze dann funktioniert es danke!

18.05.2009 17:14

... 2 Monate später ...

60 tobi

hi,

ich schon wieder.

geht wie auch in den posts weiter oben um den gleichen datenbankinhalt.

ich wollte fragen, ob es machbar ist eine kleine auflistung zu machen die folgendermassen aussieht:

Bisher sind insgesamt x Meldungen zum Turnier 2009 bei uns eingegangen! (x soll aus datenbank ausgelesen werden, wie oben mit $anzahl oder so)

Meiste Teilnehmer:

Verein TTV 123 mit 5 Teilnehmern
Verein TTF 456 mit 2 Teilnehmern
Verein TTC 789 mit 1 Teilnehmer

vielen dank für eure hilfe.

mfg tobi

EDIT: ich hoffe es ist verständlich dargestellt

23.07.2009 23:24 | geändert: 23.07.2009 23:24