Foros del Web » Programando para Internet » PHP »

Filtro de datos con lista desplegable

Estas en el tema de Filtro de datos con lista desplegable en el foro de PHP en Foros del Web. Saludos amigos. Necesito de su ayuda, ya que soy principiante en php y me estoy iniciando en php y mysql. He escrito un codigo que ...
  #1 (permalink)  
Antiguo 29/09/2011, 09:48
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Filtro de datos con lista desplegable

Saludos amigos.

Necesito de su ayuda, ya que soy principiante en php y me estoy iniciando en php y mysql.

He escrito un codigo que me pueda traer el dato de una tabla filtrado por una lista desplegable. Quiero que me muestre el sueldo de un empleado al seleccionar su nombre, pero me da error.

Este es el codigo:
Código PHP:
Ver original
  1. <form action="" method="post">
  2.  
  3. <select name="nombre">
  4.  
  5. <?php
  6. include("conecta.php");
  7.  
  8.  
  9. $sSQL="Select CodEmp, Nombre From empleados";
  10. $result=mysql_query($sSQL);
  11.  
  12. //Generamos el menu desplegable
  13. while ($row = mysql_fetch_assoc($result))
  14. {
  15.  
  16.      echo '<option value="' . $row['CodEmp'] . '">' . $row['Nombre'] . '</option>';
  17.  
  18. }
  19.  
  20. ?>
  21.  
  22. </select>
  23.  
  24. <?php
  25.  
  26. $consulta = 'Select * From empleados Where CodEmp =' .$_POST["nombre"] ;
  27. $sueldo_editar = mysql_query($consulta);
  28. $fila = mysql_fetch_object($sueldo_editar);
  29.  
  30.  
  31.  
  32. ?>
  33. <br />
  34. <input type="text" name="Ver" value="<?php echo $fila->Sueldo; ?>" />
  35. <!--<input type="submit" value="Actualizar"/>-->
  36. </form>

Estos son los errores que muestra:
Código HTML:
Ver original
  1. Notice: Undefined index: nombre in C:\wamp\www\Practicas\Actualizar1.php on line 27
  2.  
  3. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Practicas\Actualizar1.php on line 29
  4.  
  5. Notice: Trying to get property of non-object in C:\wamp\www\Practicas\Actualizar1.php on line 35

Agradeceria mucho su ayuda, ya que esto me tiene de cabeza .
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 29/09/2011, 12:24
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 10 meses
Puntos: 15
Respuesta: Filtro de datos con lista desplegable

$consulta = 'Select * From empleados Where CodEmp =' .$_POST["nombre"] ;

intenta guardarlo en una variable $codemple=$_POST["nombre"];
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #3 (permalink)  
Antiguo 29/09/2011, 19:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

Gracias por responder.

Hice lo que me dijidte pero nada de nada, sigue igual.

Y lo que me parece raro es Undefined index: nombre, esto quiere decir que no reconoce la variable:
Código PHP:
Ver original
  1. <select name="nombre">

Me gustaría saber que estoy haciendo mal.
  #4 (permalink)  
Antiguo 29/09/2011, 19:33
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Filtro de datos con lista desplegable

Una pregunta... todo el código que pusiste es una sola página???

Porque a ver tienes que enviar primero el formulario con la lista para poder recibir $_POST["nombre"], si no lo envías como quieres recibir esos datos. Puedes hacer que seleccione el nombre en esa página y en otra página que haga la operación que necesites.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 30/09/2011, 06:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

Voy a tratar de hacer eso y te cuento despues.

Pero el codigo esta bien?
  #6 (permalink)  
Antiguo 30/09/2011, 07:20
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

Hice esto (Traer1.php):
Código PHP:
Ver original
  1. <form action="traer.php" method="post">
  2.  
  3. <select  name="nombre">
  4.  
  5. <?php
  6. include("conecta.php");
  7.  
  8.  
  9. $sSQL="Select CodEmp, Nombre From empleados";
  10. $result=mysql_query($sSQL);
  11.  
  12. //Generamos el menu desplegable
  13. while ($row = mysql_fetch_array($result))
  14. {
  15.  
  16.      echo '<option value="' . $row['CodEmp'] . '">' . $row['Nombre'] . '</option>';
  17.  
  18. }
  19.  
  20. ?>
  21. </select>
  22. <br />
  23. <input type="text" name="Ver" value="<?php include("traer.php"); echo $fila->Sueldo; ?>" />
  24. <!--<input type="button" value="Actualizar"/>-->
  25. </form>

Luego esto (traer.php):
Código PHP:
Ver original
  1. <?
  2. include("conecta.php");
  3.  
  4. $listaNombre = $_POST['nombre'];
  5.  
  6. $consulta = 'Select * From empleados Where Nombre =' . $listaNombre;
  7. $sueldo_editar = mysql_query($consulta);
  8. $fila = mysql_fetch_object($sueldo_editar);
  9.  
  10. ?>

Me da este error:
Código HTML:
Ver original
  1. Notice: Undefined variable: fila in C:\wamp\www\Practicas\TraerDatos\Traer1.php on line 23
  2.  
  3. Notice: Trying to get property of non-object in C:\wamp\www\Practicas\TraerDatos\Traer1.php on line 23

Sabes que esto lo hago en asp.net, pero no es tan complicado, esto me esta sacando canas verdes xD. Espero puedas ayudarme.
  #7 (permalink)  
Antiguo 30/09/2011, 11:44
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Filtro de datos con lista desplegable

Es porque cuando es un string mysql necesita comillas sencillas:

Código PHP:
Ver original
  1. //Esto da error de sintaxis MySQL
  2. $consulta = 'Select * From empleados Where Nombre =' . $listaNombre;
Ahora para arreglarlo debes usar las comillas, prueba así:

Código PHP:
Ver original
  1. $consulta = "Select * From empleados Where Nombre = '$listaNombre'";
Para detectar este tipo de errores de usa mysql_error :

Cambia esta línea:

Código PHP:
Ver original
  1. $sueldo_editar = mysql_query($consulta);

por esta otra:

Código PHP:
Ver original
  1. $sueldo_editar = mysql_query($consulta) or die(mysql_error());

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 01/10/2011, 19:43
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

Gracias por tu respuesta.

Hice esto:
Código PHP:
Ver original
  1. <form action="" method="post">
  2.  
  3. <select  name="nombre">
  4.  
  5. <?php
  6. include("conecta.php");
  7.  
  8.  
  9. $sSQL="Select CodEmp, Nombre From empleados";
  10. $result=mysql_query($sSQL);
  11.  
  12. //Generamos el menu desplegable
  13. while ($row = mysql_fetch_array($result))
  14. {
  15.  
  16.      echo '<option value="' . $row['CodEmp'] . '">' . $row['Nombre'] . '</option>';
  17.  
  18. }
  19.  
  20. ?>
  21. </select>
  22.  
  23. <?php
  24. //include("conecta.php");
  25.  
  26. $listaNombre = $_GET['nombre'];
  27.  
  28. $consulta = "Select * From empleados Where Nombre = '$listaNombre' ";
  29. $sueldo_editar = mysql_query($consulta) or die(mysql_error());
  30. $fila = mysql_fetch_object($sueldo_editar);
  31.  
  32. ?>
  33.  
  34. <br />
  35. <input type="text" name="Ver" value="<?php echo $fila->Sueldo; ?>" />

Y me da este error:

Código HTML:
Ver original
  1. Notice: Undefined index: nombre in C:\wamp\www\Practicas\TraerDatos\Traer1.php on line 30
  2. Notice: Trying to get property of non-object in C:\wamp\www\Practicas\TraerDatos\Traer1.php on line 39 Call Stack #TimeMemoryFunctionLocation 10.0028370224{main}( )..\Traer1.php:0 " />

Nose que pueda ser????
  #9 (permalink)  
Antiguo 01/10/2011, 21:29
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

He cambiado:
Código PHP:
Ver original
  1. $fila = mysql_fetch_object($sueldo_editar);
  2.  
  3. ?>
  4.  
  5. <br />
  6. <input type="text" name="Ver" value="<?php echo $fila->Sueldo; ?>" />

Por:
Código PHP:
Ver original
  1. $fila = mysql_fetch_array($sueldo_editar);
  2.  
  3. ?>
  4.  
  5. <br />
  6. <input type="text" name="Ver" value="<?php echo $fila['Sueldo']; ?>" />

Y me muestra esto:
Código HTML:
Ver original
  1. Notice: Undefined index: nombre in C:\wamp\www\Practicas\TraerDatos\Traer1.php on line 30

Que quiere decir este error????
  #10 (permalink)  
Antiguo 02/10/2011, 21:56
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Filtro de datos con lista desplegable

Cita:
Iniciado por jose_fc Ver Mensaje
Que quiere decir este error????
Eso quiere decir que no está definido el índice "nombre" en $_GET

Código PHP:
Ver original
  1. $_GET['nombre']; //No se está pasando esto
Empezaste recogiendolo con $_POST ahora con $_GET... Muestranos de donde envías esa información.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 03/10/2011, 07:05
 
Fecha de Ingreso: septiembre-2011
Mensajes: 34
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Filtro de datos con lista desplegable

Código PHP:
Ver original
  1. $listaNombre = $_GET['nombre'];

Si me habia dado cuenta de esto y esta linea la cambié a:
Código PHP:
Ver original
  1. $listaNombre = $_POST['nombre'];

Pero = me da error.

Todo lo estoy haciendo dentro una sola pag. y esto $_POST['nombre'] lo recojo de acá
<select name="nombre">.

Que estoy haciendo mal?

Etiquetas: desplegable, lista, mysql, sql, tabla, filtros
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 13:40.