Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/09/2010, 10:18
elsaylala
 
Fecha de Ingreso: septiembre-2010
Mensajes: 55
Antigüedad: 14 años, 2 meses
Puntos: 0
Varios errores en una consulta MySQL con PHP

Hola,
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&oacute;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&aacute;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.