top 10 liste, med stemmer i den ene database og spil i den anden
Hejsa jeg har en tabel der hedder zurekk_spil og en der hedder zurekk_stemmer hvordan kan jeg lave en topliste fra zurekk_spil, hvor den henter ud fra zurekk_stemmer efter stemme og hvor nr er li id'et på spillet?Her er min sql:
CREATE TABLE zurekk_stemmer (
id int(11) NOT NULL auto_increment,
stemme int(60) NOT NULL default '',
type varchar(60) NOT NULL default '',
nr int(60) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE zurekk_spil (
id int(11) NOT NULL auto_increment,
navn varchar(60) NOT NULL default '',
hits int(60) NOT NULL default '0',
url varchar(255) NOT NULL default '',
beskrivelse text NOT NULL,
kategori varchar(60) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
Så skal jeg hente alt i zurekk_spil ud, men de skal hentes ud så den henter fra zurekk_stemmer hvor nr = id på spillet og type = spil.
Så jeg kan udskrive hviket spil der er stemt bedst på!
Det vil altså sige at den også skal udskrive noget med SELECT AVG(stemme) AS gennemsnit
Så jeg kan finde bedømmelsen på spillet
_________________________________________________________________
Får denne fejl:
Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
har denne kode:
<?
echo '<p><a href="index.php">Tilbage til spil hovedesiden</a></p><p>Mest spillede spil:</p>';
include('../sql.php');
$visfra = (isset($_GET["visfra"])) ? $_GET["visfra"] : 0;
$prside = 10;
$query = mysql_query("SELECT AVG(stemmer.stemme) AS gennemsnit, spil.*, stemmer.* FROM zurekk_spil spil, zurekk_stemmer stemmer WHERE stemmer.nr=spil.id AND spil.kategori=stemmer.type ORDER BY gennemsnit DESC LIMIT $visfra, $prside") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$type = "spil";
$id = $row[id];
$beskrivelse = $row[beskrivelse];
$beskrivelse = nl2br(htmlspecialchars($beskrivelse));
echo '<p><div align="center"><table border="1" width="505"><tr><td width="125" valign="top"><a href="ud.php?id='.$row[id" target="_blank"><img src="../images/spil/'.$row[id].'.jpg" width="125"></a><br>';
if(isset($_COOKIE["$type_$id"])) {
$bed = mysql_query("SELECT AVG(stemme) AS gennemsnit FROM zurekk_stemmer WHERE type = '$type' AND nr = '$row[id]'") or die(mysql_error());
$bed = mysql_fetch_array($bed);
echo 'Bedømmelse: '.round($bed["gennemsnit"], 3).'';
}
if(!isset($_COOKIE["$type_$id"])) {
echo '<IFRAME name="'.$row[id].'" src="spil_form.php?type='.$type.'&nr='.$id.'" frameBorder="0" width="125" height="26"></IFRAME>';
}
echo '</td><td width="380" valign="top"><p><b>'.$row[navn].':</b> - <a href="#" onclick="window.open(\'spil_virker_ikke.php?id='.$id.'&navn='.$row[navn].'\',\'_blank\',\'width=300,height =350,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no\')">Virker ikke?</a></p><p>Spillet <b>'.$row[hits].'</b> gange.</p><p><b>Beskrivelse:</b> '.$beskrivelse.'</p></td></tr></table></div></p>';
}
echo '<p align="center">';
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM zurekk_spil"),0);
if ($visfra > 0) {
$bagud = $visfra-$prside;
echo "<a href=\"spil_mest.php?visfra=".$bagud."\">Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $prside) {
if($visfra != $page * $prside - $prside) {
echo "<a href=\"spil_mest.php?visfra=".$start."\">".$page."</a> ";
} else {
echo "[$page] ";
}
$page++;
}
if ($visfra < $antal - $prside) {
$naeste = $visfra + $prside;
echo " <a href=\"spil_mest.php?visfra=".$naeste."\">Næste</a>";
}
echo '</p><p>Der er <b>'.mysql_result(mysql_query("SELECT COUNT(*) FROM zurekk_spil"),0).'</b> spil i alt.</p>';
?>
Nogle der kan fixe den?
