Wie umgehe ich diesen MySQL Fehler?

firstlord18

Erfahrenes Mitglied
Hallo,

meien Tabelle sieht wie folgt aus:

mss_votes:
id, mss_stufen.id, titel, beschreibung, time,geschlecht, endtime, anzeigen

mss_votes_dat:
id, mss_votes.id, mss_user.id


Nun habe ich das:
PHP:
      $tP = "mss_";
      function show_polls($stufenid) {
      	global $tP;	
      	
      	$sql = "SELECT id, titel, beschreibung, geschlecht, time FROM ".$tP."votes
      			WHERE mss_stufen_id='".$stufenid."'";
      
      	$res = mysql_query($sql) or die(mysql_error());
      	
      	$entrys = array();
      	while($row = mysql_fetch_assoc($res)) {
      		$entrys[] = $row;
      	}
      	return $entrys;
      }
um alle Umfragen einer Stufe als Array zurückzugeben!

Wie kann ich nun noch dazu Abfragen, wie viele Stimmen schon bei der jeweiligen Umfrage abgegeben wurden?

Das funktioniert nicht:

PHP:
      	$sql = "SELECT ".$tP."votes.id, ".$tP."votes.titel, ".$tP."votes.beschreibung, 
 		 	 ".$tP."votes.geschlecht, ".$tP."votes.time, count(".$tP."votes_dat.id) as anzahl 
      			FROM ".$tP."votes, ".$tP."votes_dat
      			WHERE ".$tP."votes.mss_stufen_id='".$stufenid."'
   			 AND ".$tP."votes_dat.mss_votes_id='".$tP."votes.id'";

Fehler:
Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

Wie kann ich das sonst noch machen?

Danke!

Edit: kann ich die Anzahl der vorhandenen Polls für die eine Stufe und die Anzahl der gesamten Votes für Polls aus dieser Stufe abfragen?

Edit2: Noch was: muss ich diesen Select dann für jede Stufe durchführen, oder kann ich mit einer Abfrage die Anzahl der Polls mit Anzahl derer Votes abfragen aus jeder Stufe abfragen
 
Zuletzt bearbeitet:
ich würde es so machen dass ich erst mit einer while schleife alle Umfragen aufrufe: also

$result=mysql_query("SELECT * FROM umfragen");
while($row=mysql_fetch_array($result)){

$result_num_votes=mysql_query("SELECT * FROM umfragen where titel='$row[titel]' ");
$r=mysql_num_rows($result_num_votes);

echo "Umfrage:".$row["titel"].":".$r."Stimmen";
}
 
Zurück