Zur Navigation

Werte ermitteln

1 tobi

Hallo,

ich habe Übersichtsseite bei der ich noch 2 Felder (freie Plätze und Warteliste) hin zu gefügt habe. In der Tabelle sind dies jeweils die letzten beiden Felder.

// sql-Abfrage 1 - Ermitteln Anzahl DB Samstags
$sql_samstag    = "SELECT Count(*) FROM anmeldungen_2016_samstag WHERE gemeldeteKlasse = '1' OR gemeldeteKlasse = '2' OR gemeldeteKlasse = '3'";
$result_samstag = mysqli_query($mysqli, $sql_samstag);
list($count_samstag) = mysqli_fetch_row($result_samstag);
// max. Anzahl Teilnehmer Samstag - 144
$max_anzahl_samstag         = 144;
// zusammengesetzt aus max. 40 Teilnehmer in Klasse 1 und Klasse 2, sowie 64 Teilnehmer in Klasse 3
$max_anzahl_samstag_jugenda  = 40;
$max_anzahl_samstag_jugendb  = 40;
$max_anzahl_samstag_dklasse = 64;

// max. Anzahl Teilnehmer Sonntag - 192
$max_anzahl_sonntag        = 192;
// zusammengesetzt aus max. 64 Teilnehmer in Klasse 1 und Klasse 2 und 3
$max_anzahl_sonntag_cklasse  = 64;
$max_anzahl_sonntag_bklasse  = 64;
$max_anzahl_sonntag_aklasse = 64;

// sql-Abfrage 2 - Ermitteln Anzahl DB Sonntags
$sql_sonntag    = "SELECT Count(*) FROM anmeldungen_2016_sonntag WHERE gemeldeteKlasse = '1' OR gemeldeteKlasse = '2' OR gemeldeteKlasse = '3'";
$result_sonntag = mysqli_query($mysqli, $sql_sonntag);
list($count_sonntag) = mysqli_fetch_row($result_sonntag);
// max. Anzahl Teilnehmer Sonntag - 192
$max_anzahl_sonntag = 192;

// sql-Abfrage 3 - Ermitteln Anzahl A-Klasse + Teilweise Damen A (Turnierklasse = 3)
$sql_aklasse    = "SELECT Count(*) FROM anmeldungen_2016_sonntag WHERE gemeldeteKlasse = '3'";
$result_aklasse = mysqli_query($mysqli, $sql_aklasse);
list($anzahl_aklasse) = mysqli_fetch_row($result_aklasse);

// sql-Abfrage 4 - Ermitteln Anzahl B-Klasse + Teilweise Damen A (Turnierklasse = 2)
$sql_bklasse    = "SELECT Count(*) FROM anmeldungen_2016_sonntag WHERE gemeldeteKlasse = '2'";
$result_bklasse = mysqli_query($mysqli, $sql_bklasse);
list($anzahl_bklasse) = mysqli_fetch_row($result_bklasse);

// sql-Abfrage 5 - Ermitteln Anzahl C-Klasse + Teilweise Damen A (Turnierklasse = 1)
$sql_cklasse    = "SELECT Count(*) FROM anmeldungen_2016_sonntag WHERE gemeldeteKlasse = '1'";
$result_cklasse = mysqli_query($mysqli, $sql_cklasse);
list($anzahl_cklasse) = mysqli_fetch_row($result_cklasse);

// sql-Abfrage 6 - Ermitteln Anzahl D-Klasse + Teilweise Damen B (Turnierklasse = 3)
$sql_dklasse    = "SELECT Count(*) FROM anmeldungen_2016_samstag WHERE gemeldeteKlasse = '3'";
$result_dklasse = mysqli_query($mysqli, $sql_dklasse);
list($anzahl_dklasse) = mysqli_fetch_row($result_dklasse);

// sql-Abfrage 7 - Ermitteln Anzahl Jugend A (Turnierklasse = 2)
$sql_jugenda    = "SELECT Count(*) FROM anmeldungen_2016_samstag WHERE gemeldeteKlasse = '2'";
$result_jugenda = mysqli_query($mysqli, $sql_jugenda);
list($anzahl_jugenda) = mysqli_fetch_row($result_jugenda);

// sql-Abfrage 8 - Ermitteln Anzahl Jugend B (Turnierklasse = 1)
$sql_jugendb    = "SELECT Count(*) FROM anmeldungen_2016_samstag WHERE gemeldeteKlasse = '1'";
$result_jugendb = mysqli_query($mysqli, $sql_jugendb);
list($anzahl_jugendb) = mysqli_fetch_row($result_jugendb);

?>

<p>Das Turnier ist TTR relevant, was bedeutet, dass die Einstufung für das Turnier in Abhängigkeit von TTR vorgenommen und anschließend alle Ergebnisse nach Turnierende im clickTT erfasst werden.</p>
<p>Der Stichtag für die Anmeldung unseres Turnieres ist der Q-TTR-Wert vom 11.08.2016!</p>

<form method="post" action="ausschreibung.php"><input type="submit" value="Zur Ausschreibung"/></form></td>
<form method="post" action="anmeldung-samstag.php"><input type="submit" value="Zur Anmeldung für den Samstag 10. September 2016"/></form></td>
<form method="post" action="anmeldung-sonntag.php"><input type="submit" value="Zur Anmeldung für den Sonntag 11. September 2016"/></form></td> 

<hr></hr>
<p><b>Aktuelle Teilnehmerstatistik</b> (Beim Klick auf den jeweiligen Wettbewerb kann man die bereits gemeldeten Teilnehmer anschauen.)</p>

<table class="tbl">
<tr>
<td style="width:20%;"><b></b></td>
<td style="width:20%"><b>Turniertag 1: Samstag<br />10. September 2016<br />Jugend U18 B<br />Jugend U18 A<br />Aktive D</b></td>
<td style="width:20%"><b>Turniertag 2: Sonntag<br />11. September 2016<br />Aktive C<br />Aktive B<br />Aktive A</b></td>
<td style="width:15%"><b>Freie<br />Plätze</b></td>
<td style="width:15%"><b>Auf der<br />Warteliste</b></td>
</tr>
</table>
<table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-jugend-b.php" title="Teilnehmer Wettbewerb Jugend U18 B">Jugend U18 B</a></td>
<td style="width:20%"><?php
echo $anzahl_jugendb = ($anzahl_jugendb > $max_anzahl_samstag_jugendb) ? $max_anzahl_samstag_jugendb : $anzahl_jugendb;
?> von <?php echo $max_anzahl_samstag_jugendb?></td>
<td style="width:20%"></td>
<td style="width:15%">27</td>
<td style="width:15%">0</td>
</tr>
</table><table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-jugend-a.php" title="Teilnehmer Wettbewerb Jugend U18 A">Jugend U18 A</a></td>
<td style="width:20%"><?php
echo $anzahl_jugenda = ($anzahl_jugenda > $max_anzahl_samstag_jugenda) ? $max_anzahl_samstag_jugenda : $anzahl_jugenda;
?> von <?php echo $max_anzahl_samstag_jugenda?></td>
<td style="width:20%"></td>
<td style="width:15%">32</td>
<td style="width:15%">0</td>
</tr>
</table>
<table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-d-klasse.php" title="Teilnehmer Wettbewerb Aktive D">Aktive D</a></td>
<td style="width:20%"><?php
echo $anzahl_dklasse = ($anzahl_dklasse > $max_anzahl_samstag_dklasse) ? $max_anzahl_samstag_dklasse : $anzahl_dklasse;
?> von <?php echo $max_anzahl_samstag_dklasse?></td>
<td style="width:20%"></td>
<td style="width:15%">0</td>
<td style="width:15%">10</td>
</tr>
</table>
<table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-c-klasse.php" title="Teilnehmer Wettbewerb Aktive C">Aktive C</a></td>
<td style="width:20%"></td>
<td style="width:20%"><?php
echo $anzahl_cklasse = ($anzahl_cklasse > $max_anzahl_sonntag_cklasse) ? $max_anzahl_sonntag_cklasse : $anzahl_cklasse;
?> von <?php echo $max_anzahl_sonntag_cklasse?></td>
<td style="width:15%">0</td>
<td style="width:15%">10</td>
</tr>
</table>
<table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-b-klasse.php" title="Teilnehmer Wettbewerb Aktive B">Aktive B</a></td>
<td style="width:20%"></td>
<td style="width:20%"><?php
echo $anzahl_bklasse = ($anzahl_bklasse > $max_anzahl_sonntag_bklasse) ? $max_anzahl_sonntag_bklasse : $anzahl_bklasse;
?> von <?php echo $max_anzahl_sonntag_bklasse?></td>
<td style="width:15%">6</td>
<td style="width:15%">0</td>
</tr>
</table>
<table class="tbl">
<tr>
<td style="width:20%"><a class="links" href="/teilnehmer-a-klasse.php" title="Teilnehmer Wettbewerb Aktive A">Aktive A</a></td>
<td style="width:20%"></td>
<td style="width:20%"><?php
echo $anzahl_aklasse = ($anzahl_aklasse > $max_anzahl_sonntag_aklasse) ? $max_anzahl_sonntag_aklasse : $anzahl_aklasse;
?> von <?php echo $max_anzahl_sonntag_aklasse?></td>
<td style="width:15%">24</td>
<td style="width:15%">0</td>
</tr>
</table>

Im Feld freie Felder müßte quasi: (Beispiel am Wettbewerb Jugend U18 B
$max_anzahl_samstag_jugendb  = 40;
Subdrahiert
// sql-Abfrage 8 - Ermitteln Anzahl Jugend B (Turnierklasse = 1)
$sql_jugendb    = "SELECT Count(*) FROM anmeldungen_2016_samstag WHERE gemeldeteKlasse = '1'";
$result_jugendb = mysqli_query($mysqli, $sql_jugendb);
list($anzahl_jugendb) = mysqli_fetch_row($result_jugendb);
Allerdings können in der Datenbank mehr wie 40 vorhanden seien, dennoch muß 0 stehen wenn 40 erreicht seien sollte.

Im Feld Warteliste dürfte erst hochgezählt werden, wenn die Zahl 40 erreicht wäre. Wie kann man dies realisieren?

21.08.2016 21:29

2 Jörg Kruse

Wenn ich dich richtig verstanden habe:

$max_anzahl_samstag_jugendb  = 40;

if ($anzahl_jugendb <= $max_anzahl_samstag_jugendb) {
    $anzahl_samstag_besetzt_jugendb = $anzahl_jugendb;
    $anzahl_samstag_frei_jugendb = $max_anzahl_samstag_jugendb - $anzahl_jugendb;
    $anzahl_samstag_warteliste_jugendb = 0;
} else {
    $anzahl_samstag_besetzt_jugendb = $max_anzahl_samstag_jugendb;
    $anzahl_samstag_frei_jugendb = 0;
    $anzahl_samstag_warteliste_jugendb = $anzahl_jugendb - $max_anzahl_samstag_jugendb;
}

22.08.2016 10:19 | geändert: 22.08.2016 10:20

3 tobi

scheint zu gehen :-)

Ausgabe erfolgt mit:
<td style="width:15%"><?php echo $anzahl_samstag_frei_jugendb?></td>
<td style="width:15%"><?php echo $anzahl_samstag_warteliste_jugendb?></td>

Allerdings glaube ich, dass die Warteliste falsch zählt.
Ich habe bei der D Klasse 73 Meldungen, was bedeuten würde, dass 9 auf der Warteliste stehen. Ausgegeben wird aber die Zahl 10.
Selbiges bei der C Klasse, dort habe ich 69 Meldungen, was bedeutet 5 auf der Warteliste. Ausgegeben wird aber die Zahl 6.

22.08.2016 13:11

4 tobi

Kommando zurück. Hatte jeweils einen Datensatz noch nicht nachträglich entfernt. Code scheint dann zu passen. Danke.

22.08.2016 14:36

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]