Zur Navigation

formular [2]

11 tobi

so ich hab jetzt mal noch einwenig ausprobiert

jetzt bekomme ich folgendes angezeigt:
Bisher sindResource id #7Meldungen zum Turnier 2009 bei uns eingegangen!


<?php
include "inc/kopf.php.inc";
include "inc/menu.php.inc";

//Datenbank verbinden
include "../zugang_2.php.inc";

echo "<div id=\"box1\">\n";
echo "<p><b><font size=\"+2\">Teilnehmer Damen</font></b></p>\n";
echo "<center>\n";

$sql = "
SELECT id, nachname, vorname, verein, timestamp FROM ppc_anmeldungen WHERE turnierklasse = 'Damen'";

$sql1 = "
SELECT COUNT(*) FROM ppc_anmeldungen WHERE turnierklasse = 'Damen'
";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

$db_erg1 = mysql_query( $sql1 );
if ( ! $db_erg1 )
{
die('Ungültige Abfrage: ' . mysql_error());
}

echo "Bisher sind" . $db_erg1 . "Meldungen zum Turnier 2009 bei uns eingegangen!";
echo "<br>";
echo "<br>";


echo "<table width=\"80%\" border=\"1\" cellpadding=\"3\" cellspacing=\"0\">";
echo "<tr>";
echo "<td></td>";
echo "<td>Name</td>";
echo "<td>Vorname</td>";
echo "<td>Verein</td>";
echo "<td>Meldedatum</td>";
echo "</tr>";

$anzahl = 1;
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $anzahl . "</td>";
echo "<td>". $zeile['nachname'] . "</td>";
echo "<td>". $zeile['vorname'] . "</td>";
echo "<td>". $zeile['verein'] . "</td>";
echo "<td>" . date("d.m.Y G:i:s", strtotime($zeile['timestamp'])) . "</td>";
echo "</tr>";
$anzahl++;
}
echo "</table>";

mysql_free_result( $db_erg );

echo "<br>";
echo "<hr noshade size=\"2\">";
echo "<p><b>zu den gemeldeten Teilnehmern der anderen Turnierklassen:</b></p>";
echo  "<a href=\"ppc2009HerrenA.php\">Herren A-Klasse</a><br>";
echo  "<a href=\"ppc2009HerrenB.php\">Herren B-Klasse</a><br>";
echo  "<a href=\"ppc2009HerrenC.php\">Herren C-Klasse</a><br>";

echo "<br>";
include "aktualisierung.php";
echo "</center>\n";
echo "</div>\n";

mysql_close($link);

include "inc/ende.php.inc";
?>

24.02.2009 15:07

12 Jörg

Du kannst dir mit mysql_num_rows() die Anzahl der Ergebnisse von $db_erg ausgeben lassen - so benötigst du nur eien Datenbank-Abfrage

24.02.2009 15:13

13 tobi

und wie das?

24.02.2009 15:21

14 Jörg

$anzahl = mysql_num_rows($db_erg);

echo "Bisher sind" . $anzahl . "Meldungen zum Turnier 2009 bei uns eingegangen!";

24.02.2009 15:50

15 tobi

gut hat geklappt, finaler code schaut jetzt so aus. vielen dank


<?php
include "inc/kopf.php.inc";
include "inc/menu.php.inc";

//Datenbank verbinden
include "../zugang_2.php.inc";

echo "<div id=\"box1\">\n";
echo "<p><b><font size=\"+2\">Teilnehmer Damen</font></b></p>\n";
echo "<center>\n";

$sql = "
SELECT id, nachname, vorname, verein, timestamp FROM ppc_anmeldungen WHERE turnierklasse = 'Damen'";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

$anzahl = mysql_num_rows($db_erg);
echo "Bisher sind " . $anzahl . " Meldungen zum Turnier 2009 bei uns eingegangen!";
echo "<br>";
echo "<br>";


echo "<table width=\"80%\" border=\"1\" cellpadding=\"3\" cellspacing=\"0\">";
echo "<tr>";
echo "<td></td>";
echo "<td>Name</td>";
echo "<td>Vorname</td>";
echo "<td>Verein</td>";
echo "<td>Meldedatum</td>";
echo "</tr>";

$anzahl = 1;
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $anzahl . "</td>";
echo "<td>". $zeile['nachname'] . "</td>";
echo "<td>". $zeile['vorname'] . "</td>";
echo "<td>". $zeile['verein'] . "</td>";
echo "<td>" . date("d.m.Y G:i:s", strtotime($zeile['timestamp'])) . "</td>";
echo "</tr>";
$anzahl++;
}
echo "</table>";

mysql_free_result( $db_erg );

echo "<br>";
echo "<hr noshade size=\"2\">";
echo "<p><b>zu den gemeldeten Teilnehmern der anderen Turnierklassen:</b></p>";
echo  "<a href=\"ppc2009HerrenA.php\">Herren A-Klasse</a><br>";
echo  "<a href=\"ppc2009HerrenB.php\">Herren B-Klasse</a><br>";
echo  "<a href=\"ppc2009HerrenC.php\">Herren C-Klasse</a><br>";

echo "<br>";
include "aktualisierung.php";
echo "</center>\n";
echo "</div>\n";

mysql_close($link);

include "inc/ende.php.inc";
?>

24.02.2009 16:13

16 tobi

ich will jetzt ne neue seite und eine neue übersicht machen:

1. gesamt anzahl der teilnehmer
2. teilnehmer damen
3. teilnehmer herren a
4. teilnehmer herren b
5. teilnehmer herren c

muß ich dann 5 abfragen machen?

24.02.2009 16:17

18 tobi

Zitat von Jörg
Nein, dafür kann man eine Abfrage mit "GROUP BY" machen. Auf dieser Seite ist das erklärt:

http://www.little-idiot.de/mysql/mysql-169.html

so hab ich mir mal angeschaut: ganz durchsteigen tue ich nicht.

hab jetzt mal soweit gecodet, weiß nicht ob das richitg ist, ich möchte ja nur die anzahl gesamt und der einzelnen teilnehmer
bei jedem erscheint die zahl 12 (die stimmt schon, soviel teilnehmer sind in der db eingetragen)

//Datenbank verbinden
include "../zugang_2.php.inc";

$sql = "
SELECT id, turnierklasse, COUNT(*) FROM ppc_anmeldungen GROUP BY id, turnierklasse";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

$anzahl = mysql_num_rows($db_erg);
echo "<p><b>Aktuelle Teilnehmerübersicht:</b></p>";
echo "Bisher sind insgesamt <b>" . $anzahl . "</b> Meldungen zum Turnier 2009 bei uns eingegangen!";
echo "<br>";
echo "<br>";
echo "Teilnehmer Damen: <b>" . $anzahl . "</b>; zu den gemeldeten Teilnehmer <a href=\"ppc2009Damen.php\">Damen</a>";
echo "<br>";
echo "Teilnehmer Herren A: <b>" . $anzahl . "</b>; zu den gemeldeten Teilnehmer <a href=\"ppc2009HerrenA.php\">Herren A</a>";
echo "<br>";
echo "Teilnehmer Herren B: <b>" . $anzahl . "</b>; zu den gemeldeten Teilnehmer <a href=\"ppc2009HerrenB.php\">Herren B</a>";
echo "<br>";
echo "Teilnehmer Herren C: <b>" . $anzahl . "</b>; zu den gemeldeten Teilnehmer <a href=\"ppc2009HerrenC.php\">Herren C</a>";
echo "<br>";
mysql_close($link);
echo "<br>";

24.02.2009 16:54

19 Rudy

Du musst wenn schon das Ergebnis nun mit mysql_fetch_row durchgehen und Turnierklasse und Anzahl auslesen, nicht die Gesamtanzahl der Ergebniszeilen mit mysql_num_rows() ermitteln und einfach an jede Klasse dazuschreiben. Das macht keinen Sinn.

24.02.2009 19:16

20 tobi

so hab jetzt mal:

$sql = "
SELECT turnierklasse, COUNT(*) FROM ppc_anmeldungen GROUP BY turnierklasse";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

$result = mysql_query ( $sql );

while ( $row = mysql_fetch_row ( $result ) )
{
  echo $row[0] . ' - ' . $row[1] . ' - ' . $row[2] . ' - ' . $row[3] . '<br>';
}

bringt dann als ergebnis:
Damen - 2 - -
Herren A - 5 - -
Herren B - 3 - -
Herren C - 1 - -

da fehlt jetzt aber die gesamt anzahl

ich würde das ganz aber gerne später so haben:
Aktuelle Teilnehmerübersicht:
Bisher sind insgesamt (x) Meldungen zum Turnier 2009 bei uns eingegangen!

Teilnehmer (X) zu den gemeldeten Teilnehmer Damen
Teilnehmer (X) zu den gemeldeten Teilnehmer Herren A
Teilnehmer (X) zu den gemeldeten Teilnehmer Herren B
Teilnehmer (X) zu den gemeldeten Teilnehmer Herren C

24.02.2009 23:01 | geändert: 24.02.2009 23:03