Foros del Web » Programando para Internet » PHP »

Obtener resultados de un select option

Estas en el tema de Obtener resultados de un select option en el foro de PHP en Foros del Web. Buenas. Estoy intentando obtener los resultados de una consulta que procede de un select y estos no aparecen, a pesar de que la BBDD está ...
  #1 (permalink)  
Antiguo 26/09/2008, 05:42
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Obtener resultados de un select option

Buenas.
Estoy intentando obtener los resultados de una consulta que procede de un select y estos no aparecen, a pesar de que la BBDD está llena. Este es el código:
Código:
<form name="estadisticas" method="post" action="stats.php">
      <select name="statspl">
         <option value="Pro Point">Puntos</option>
         <option value="Pro G">Goles</option>
      </select>
      <input type=submit value="Seleccionar"> 
      </form> 
<?
include 'config.php';

$statspl = $_POST['statspl'];

$sql = mysql_query("SELECT * FROM jugadores order by ".$statspl." DESC LIMIT 0,20");
$i=0;
if($sql) { 
    while($u=mysql_fetch_array($sql)) {
$i=$i+1;
   echo "{$i}/".$u['Name']."";

}
}

?>
¿Cómo lo podría solucionar? Gracias

Última edición por jokin82; 26/09/2008 a las 06:19
  #2 (permalink)  
Antiguo 26/09/2008, 06:46
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Obtener resultados de un select option

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 26/09/2008, 07:08
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: Obtener resultados de un select option

Prueba con esto:
Código PHP:
<form name="estadisticas" method="post" action="stats.php">
    <select name="statspl">
        <option value="Pro Point">Puntos</option>
        <option value="Pro G">Goles</option>
    </select>
    <input type=submit value="Seleccionar"> 
</form> 
<?
include 'config.php';

$statspl $_POST['statspl'];
$sql "SELECT * FROM jugadores order by ".$statspl." DESC LIMIT 0,20";
$result mysql_query($sql);
$i 0;
while(
$data mysql_fetch_array($result)) {
    
$i++;
    echo 
$i.'/'.$data['Name'].'<br>';
}

?>
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 26/09/2008, 08:00
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Obtener resultados de un select option

Gracias por la respuesta, pero desgraciadamente me aparece esto
Warning: mysql_fetch_array(): supplied argument is not...
  #5 (permalink)  
Antiguo 26/09/2008, 08:37
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: Obtener resultados de un select option

Entonces cambia la lina de $result por esto:
Código PHP:
$result mysql_query($sql) or die('Error de Mysql: '.mysql_error()); 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 26/09/2008, 08:52
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Obtener resultados de un select option

Genial!
Esto se ha solucionado perfectamente, ya me muestra los resultados, pero me ha salido otra cosa :(
Como antes no podía ver los resultados, no sabía si la consulta tomaba el valor del formulario y parece ser que no, porque el "order by" no funciona y no me lo ordena como lo tendría que hacer.

Además he añadido algo a la última línea, la variable del valor del formulario y no me la muestra tampoco

echo $i.'/'.$data['Name'].'/'.$data['.$statspl.'].'<br>';

¿Cómo lo podría arreglar? Gracias de nuevo

Última edición por jokin82; 26/09/2008 a las 08:59 Razón: Añadidos
  #7 (permalink)  
Antiguo 26/09/2008, 09:19
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Obtener resultados de un select option

He hecho un print_r($_POST) y PHP toma el valor del formulario, es decir el error debe de ser más adelante. A ver cuál sera?
  #8 (permalink)  
Antiguo 26/09/2008, 09:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Obtener resultados de un select option

Que tal jokin82, prueba así tu código:
Código PHP:
<?php
include 'config.php';
$statspl $_POST['statspl'];
$sql "SELECT * FROM jugadores order by $statspl DESC LIMIT 0,20";
$result mysql_query($sql);
$i 0;
while(
$data mysql_fetch_array($result)) {
    
$i++;
    echo 
$i.'/'.$data['Name'].'/'.$statspl.'<br>';
}
?>
Ahora ten en cuenta esto, estas ordenando por un campo de te tabla, efectivamente el valor que te devuelve el select sea puntos o goles debe tener el mismo nombre de tu campo en la tabla Pro Point o Pro G, sino no te va a efectuar el orden.



Saludos.
  #9 (permalink)  
Antiguo 26/09/2008, 09:40
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Obtener resultados de un select option

Uff! No pensaba que esto iba a darme tantas dificultades. Al final he puesto esto:

Código:
$sql = "SELECT * FROM jugadores ORDER BY '$statspl' DESC LIMIT 0 , 30";
Y por fin he arreglado este asunto.
Lo que sucede ahora es que sigue sin mostrarme la variable (debe de ser un número) en esta línea (en negrita), no sé cómo lo debería cambiar:

Código:
echo $i.'/'.$data['Name'].'/'.$statspl.'<br>';
  #10 (permalink)  
Antiguo 26/09/2008, 09:48
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Obtener resultados de un select option

Como es el nombre del campo de tu tabla puntos o goles?, se supone que deberías indicarle al array $data[], que es el que te almacena los valores devueltos desde tu consulta el elemento que deseas mostrar, y si haces algo así:

Código PHP:
echo $i.'/'.$data['Name'].'/'.$data["$statspl"].'<br>'



Saludos.
  #11 (permalink)  
Antiguo 26/09/2008, 09:52
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Obtener resultados de un select option

Después de varios intentos ya está solucionado, ha costado un poco eh.
¡Gracias por vuestra ayuda!

Saludos
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 14:20.