en mi pagina web tengo una sección con una lista de todos los minijuegos que tengo en ella. Dicha lista tiene varias cosas más, como: el numero de veces que se ha jugado cada minijuego, la puntuación que les han dado los usuarios, si dispone de ranking y de guia, la categoria en la que se encuentra y su descripción.
Poco a poco he intentado ir mejorandola agregandole algunas nuevas funciones. La ultima funcion que he intentado agregar es para que la lista sea ordenada a elección de usuario, por ejemplo: si quieres que se ordene por el nombre del juego, por su puntuación...
El codigo que uso es el siguiente:
Código PHP:
<?php
//datos de la conexion a la base de datos
$con = mysql_connect("******", "*****", "******");
mysql_select_db("******", $con);
@mysql_query("SET NAMES 'latin1'");
//obtenemos valores que envió la funcion en
//Javascript mediante el metodo GET
if(isset($_GET['campo']) and isset($_GET['orden'])){
$campo=$_GET['campo'];
$orden=$_GET['orden'];
}else{
//por defecto
$campo='name';
$orden='ASC';
}
//realizamos la consulta de los empleados,
//ordenandolos segun campo y asc o desc
//ej. SELECT * FROM empleado ORDER BY nombres ASC
global $dbi;
$Consulta=mysql_query("SELECT * FROM ava_games ORDER BY $campo $orden",$con);
echo "<table cellspacing='0' cellpading='0' border='1'>";
echo "<tr class='encabezado'>";
//definimos dos arrays uno para los nombre de los campos de la tabla y
//para los nombres que mostraremos en vez de los de la tabla -encabezados
$campos="names,hits,rating,highscore_image,guia,categoria";
$cabecera="Nombre,Jugadas,Puntuación,Ranking,Guia,Categoria";
//los separamos mediante coma
$cabecera=explode(",",$cabecera);
$campos=explode(",",$campos);
//numero de elementos en el primer array
$nroItemsArray=count($campos);
//iniciamos variable i=0
$i=0;
//mediante un bucle crearemos las columnas
while($i<=$nroItemsArray-1){
//comparamos: si la columna campo es igual al elemento
//actual del array
if($campos[$i]==$campo){
//comparamos: si esta Descendente cambiamos a Ascendente
//y viceversa
if($orden=="DESC"){
$orden="ASC";
$flecha="arrow_down.gif";
}else{
$orden="DESC";
$flecha="arrow_up.gif";
}
//si coinciden campo con el elemento del array
//la cabecera tendrá un color distinto
echo " <td class='encabezado_selec'><a onclick='OrdenarPor('".$campos[$i]."','".$orden."')'><img src='".$flecha."' />".$cabecera[$i]."</a></td>";
}else{
//caso contrario la columna no tendra color
echo " <td><a onclick='OrdenarPor('".$campos[$i]."','DESC')'>".$cabecera[$i]."</a></td>";
}
$i++;
}
echo "</tr>";
//esta funcion permite comparar el campo actual y el nombre de
//la columna en la base de datos
function estiloCampo($_campo,$_columna){
if($_campo==$_columna){
return " class='filas_selec'";
}else{
return "";
}
}
//mostramos los resultados mediante la consulta de arriba
while ($row = mysql_fetch_assoc($resEmp)) {
if ($row['highscores'] == 1) {
$game['highscore_image'] = "<center><img src='http://www.mjuegos.net/images/trophy_smaller.png'></center>";
}
else {
$game['highscore_image'] = " ";
}
if ($row['rating'] == 0) {
$game['rating'] = "<center>Sin puntuar.</center>";
}
else if ($row['rating'] == 1) {
$game['rating'] = "<center><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'></center>";
}
else if ($row['rating'] == 2) {
$game['rating'] = "<center><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'></center>";
}
else if ($row['rating'] == 3) {
$game['rating'] = "<center><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'></center>";
}
else if ($row['rating'] == 4) {
$game['rating'] = "<center><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/empty_star.png'></center>";
}
else if ($row['rating'] == 5) {
$game['rating'] = "<center><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'><img src='http://www.mjuegos.net/templates/red/images/star.png'></center>";
}
if ($row['category_id'] == 103) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=103&sortby=newest&page=1'>Acción</a></center>";
}
else if ($row['category_id'] == 2) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=2&sortby=newest&page=1'>Aventuras</a></center>";
}
else if ($row['category_id'] == 102) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=102&sortby=newest&page=1'>De mesa</a></center>";
}
else if ($row['category_id'] == 7) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=7&sortby=newest&page=1'>Estrategia</a></center>";
}
else if ($row['category_id'] == 100) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=100&sortby=newest&page=1'>Habilidad</a></center>";
}
else if ($row['category_id'] == 9) {
$game['categoria'] = "<center><a style='text-decoration:none; color:grey' href='http://www.mjuegos.net/index.php?task=category&id=9&sortby=newest&page=1'>Para los más peques</a></center>";
}
if ($row['advert_id'] == 7) {
$game['guia'] = "<center><img src='http://foro.mjuegos.net/Themes/default/images/post/pagina.gif'></center>";
}
else {
$game['guia'] = " ";
}
echo "<tr>";
echo " <td".estiloCampo($campo,'name').">".$row['name']."</td>";
echo " <td".estiloCampo($campo,'hits').">".$row['hits']."</td>";
echo " <td".estiloCampo($campo,'rating').">".$game['rating']."</td> n";
echo " <td".estiloCampo($campo,'highscore_image').">".$game['highscore_image']."</td>";
echo " <td".estiloCampo($campo,'guia').">".$game['guia']."</td>";
echo " <td".estiloCampo($campo,'categoria').">".$game['categoria']."</td>";
echo "</tr>";
}
?>
</table>
El cual me devuelve el siguiente error:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /homepages/8/d318990700/htdocs/mjuegos/lista_de_minijuegos/index.php on line 76
Gracias de antemano.