[PHP/MySQL] select count

XploSiV1

Well-known member
23 Dezember 2006
251
9
Ich bins mal nochmal...

Ich habe da noch ein Problem...

Ich würde gerne aus einer Datenbank Folgendes erfahren...

Tabelle: mannschaft
Zeile: startelf - mannschaft
Datensatz: 1

Also zu Erklären ich will aus der Mysql Tabelle "mannschaft" in der Zeile "startelf" den Datensatz "1" zählen aber nur für die manschaft "$row->vereinname" (das ist eine Variable aus der Ausgabe davor) sagen wir als Beispiel Stuttgart.

Bei mir sieht das momentan so aus...


$abfrage = "SELECT * FROM verein WHERE vereinmanager = '$username'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{

$abfrage="SELECT COUNT * from mannschaft WHERE startelf = '1' and verein = '$row->vereinname'";
$ergebnis = mysql_query($abfrage);
$count = mysql_result($ergebnis,0);
{
echo "$count";

}}


Das funzt aber irgendwie nicht
 
Das heißt COUNT(*) aber was du da machst ist nicht gerade schön, das kostet extrem viele Querys bei vielen Datensätzen in "verein" ;)
Das ließe sich mit nem Join eleganter Lösen, z.B. so:
PHP:
SELECT COUNT(`mannschaft`.*) FROM `mannschaft` LEFT JOIN `verein` ON (`verein`.`vereinname`=`mannschaft`.`verein`) WHERE `startelf`=1 AND `vereinmanager`="username"

Ungetestet, aber dürfte wohl gehen.
 
Ich hab zwar 0 Ahnung was du da machst aber mal sehen obs klappt ^^


Jetzt sieht das wo folgt aus

$abfrage = "SELECT COUNT(`mannschaft`.*) FROM `mannschaft` LEFT JOIN `verein` ON (`verein`.`vereinname`=`mannschaft`.`verein`) WHERE `startelf`=1 AND `vereinmanager`='$username'";
$ergebnis = mysql_query($abfrage);
$count = mysql_result($ergebnis,0);
{
echo "Du hast $count Spieler in deiner Startaufstellung";
}

Jetzt bekomme ich eine Fehlermeldung

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /www/htdocs/w008c91a/browsergame/bgfm08/kader.php on line 38
 
Zuletzt bearbeitet:
So muss das sein:
PHP:
SELECT COUNT(`mannschaft`) FROM `mannschaft` LEFT JOIN `verein` ON (`verein`.`vereinname`=`mannschaft`.`verein`) WHERE `startelf`=1 AND `vereinmanager`="username"

COUNT(tabelle.*) isses ja gar nich, aber iwie denk ich das immer :ugly:
 
kannste mir vllt. mal erklären was du da genau geschrieben hast ich blick da voll nicht durch...