Foros del Web » Programando para Internet » PHP »

Resultado no esperado en una consulta a BBDD

Estas en el tema de Resultado no esperado en una consulta a BBDD en el foro de PHP en Foros del Web. Hola a todos. Estoy intentando mostrar los resultados de una consulta a una BBDD, a partir de un select. Al parecer me muestra los datos ...
  #1 (permalink)  
Antiguo 23/03/2009, 17:05
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 19 años, 1 mes
Puntos: 0
Resultado no esperado en una consulta a BBDD

Hola a todos.
Estoy intentando mostrar los resultados de una consulta a una BBDD, a partir de un select. Al parecer me muestra los datos perfectamente, pero no en orden de mayor a menor, que es como desearía. Supongo que el fallo estará en el ORDER BY pero no lo logro solucionar ¿Me podríais echar una mano para arreglarlo? Gracias.

Código:
<form name="estadisticas" method="post" action="cperros.php">
    <select name="statspe">
        <option value="Edad">Edad</option>
        <option value="Peso">Peso</option>
        <option value="Longitud">Longitud</option>
    </select>
    <input type=submit value="Ver"> 
</form><br>
                
<?
include 'config.php';

if (isset($_POST['statspe'])) {
$statspe = $_POST['statspe'];


$sql = "SELECT * FROM perros ORDER BY '$statspe' DESC LIMIT 0 , 19";
$result = mysql_query($sql) or die('Error de Mysql: '.mysql_error());  
$i = 1;
while($data = mysql_fetch_array($result)) {
    $i++;
      echo '<table width=442 cellspacing=1 border=0>
                     <tr bgcolor=#000000>
                         <td width=40 align=center><font color=#FFD700>'.$i.'</font></td>
                         <td width=175 align=left><font color=#FFD700>'.$data['Name'].'</font></td>
                         <td width=172 align=left><font color=#FFD700>'.$data['Raza'].'</font></td>
                         <td width=55 align=center><font color=#FFD700>'.$data["$statspe"].'</font></td>';
}

            echo '</tr>
                </table>';

}
?>
  #2 (permalink)  
Antiguo 23/03/2009, 17:16
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Resultado no esperado en una consulta a BBDD

"SELECT * FROM perros ORDER BY '$statspe' DESC LIMIT 0 , 19";
si pones eso directamente en sql si te funciona?
  #3 (permalink)  
Antiguo 23/03/2009, 17:22
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Resultado no esperado en una consulta a BBDD

Funciona a medias como he comentado antes, es decir, muestra el resultado pero sin ordenar como a mí me gustaría. Y la verdad no sé como lo podría arreglar :(
  #4 (permalink)  
Antiguo 23/03/2009, 17:45
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Resultado no esperado en una consulta a BBDD

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
sigues esa esctructura ciertoi?
  #5 (permalink)  
Antiguo 23/03/2009, 17:55
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Resultado no esperado en una consulta a BBDD

sí señor, esa es
  #6 (permalink)  
Antiguo 23/03/2009, 18:29
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Resultado no esperado en una consulta a BBDD

jaja no me digas señor am y si le kitas el limit?
  #7 (permalink)  
Antiguo 23/03/2009, 20:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 45
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Resultado no esperado en una consulta a BBDD

Está mal armado el SQL, no tenés que encerrar enter comillas el $statspe, sería

$sql = "SELECT * FROM perros ORDER BY $statspe DESC LIMIT 0 , 19";

Avisá si andubo, saludos.
  #8 (permalink)  
Antiguo 24/03/2009, 03:09
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Resultado no esperado en una consulta a BBDD

Bueno, después de dormir un poco ya estamos otra vez por aquí. He tenido hasta pesadillas con esta consulta. Lo primero gracias por sus ayudas.

@harvestmoon: el limit lo necesito porque tan sólo quiero mostrar unas cuantas filas.

@heymatias: si quito las comillas de la variable me sale un error sintáctico de SQL, así que todavía estamos en ello.
  #9 (permalink)  
Antiguo 24/03/2009, 03:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Resultado no esperado en una consulta a BBDD

¡¡¡Ya lo tengo!!!! Sólo cambié '$statspe' por `".$statspe."`

¡Salud!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:14.