Foros del Web » Programando para Internet » PHP »

Problema con select option en php

Estas en el tema de Problema con select option en php en el foro de PHP en Foros del Web. Buenas: Utilizando un ejemplo de este foro, he creado un <select option> que coge los datos de la bbdd. La cuestión es que funciona perfectamente, ...
  #1 (permalink)  
Antiguo 21/04/2012, 09:54
 
Fecha de Ingreso: abril-2012
Mensajes: 13
Antigüedad: 12 años
Puntos: 0
Problema con select option en php

Buenas:
Utilizando un ejemplo de este foro, he creado un <select option> que coge los datos de la bbdd.
La cuestión es que funciona perfectamente, pero hay uno de ellos, que no se poque da un pequeño error.
Cuando pulso para selecionar cualquiera de los otros, este se pulsa tambien.
He revisado el codigo y no veo cual es el problema.
Agradeceria una manita.
El que da el problema es dia_cierre

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP con MySQL: Editar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Editar Empresa</h3>



<?php echo $rsEmp["id_restaurante"]; ?>
<form method="post" id="frEmpresa" action="editar.php?action=edit">
        
<p><label for="nombre">Nombre (required):</label><input style="width: 200px" TYPE="TEXT" NAME="nombre" value="<?php echo $rsEmp["nombre"]; ?>" size="36" class=":required" />

<label for="calle">Calle (required):</label><input style="width: 200px" type="text" NAME="calle"  value="<?php echo $rsEmp["calle"]; ?>" class=":required"/></p>

<p><label for="cod_post">Codigo postal:</label><input style="width: 120px" TYPE="TEXT" NAME="cod_post" value="<?php echo $rsEmp["cod_post"]; ?>" class=":number">

<label for="ciudad">Ciudad:</label><input style="width: 120px" TYPE="TEXT" NAME="ciudad"  value="<?php echo $rsEmp["ciudad"]; ?>">


<label for="zona">Zona:</label><input style="width: 120px" TYPE="TEXT" NAME="zona"  value="<?php echo $rsEmp["zona"]; ?>"></p>


<p><label for="telefono">Telefono:</label><input style="width: 200px" TYPE="TEXT" NAME="telefono"  value="<?php echo $rsEmp["telefono"]; ?>" class=":digits">

<label for="email">Email:</label><input style="width: 200px" type="text" NAME="email" value="<?php echo $rsEmp["email"]; ?>" class=":email" /></p>



<label>Dia cierre:</label> 
    <label><select name="id_dia_cierre"> 
<?php

$query
="select * from dia_cierre";
$cierre mysql_query($query$conexion)or die(mysql_error());;;
$query2="select * from datos_restaurante where id_restaurante=".$idempresa;
$selecierre=mysql_query($query2,$conexion);
$cierresele=mysql_fetch_assoc($selecierre)or die(mysql_error());;;

 While   (
$idcierre=mysql_fetch_assoc($cierre)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idcierre['id_dia_cierre'] == $cierresele['id_dia_cierre']){
         echo 
"<option value=\"".$idcierre['id_dia_cierre']."\" selected>".$idcierre['dia_semana']."</option>\n";
      } else {
         echo 
"<option value=\"".$idcierre['id_dia_cierre']."\">".$idcierre['dia_semana']."</option>\n";
      }
    }
   echo 
"</select>\n\n";
   
?>
       
<label for="id_mantenimiento">Tiempo mantenimiento:</label><SELECT name="id_mantenimiento">
<?php

$query
="select * from mantenimiento";
$mantenimiento mysql_query($query$conexion)or die(mysql_error());;;
$query2="select * from datos_restaurante where id_restaurante=".$idempresa;
$selemantenimiento=mysql_query($query2,$conexion);
$mantenimientosele=mysql_fetch_assoc($selemantenimiento)or die(mysql_error());;;

 While   (
$idmantenimiento=mysql_fetch_assoc($mantenimiento)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idmantenimiento['id_mantenimiento'] == $mantenimientosele['id_mantenimiento']){
         echo 
"<option value=\"".$idmantenimiento['id_mantenimiento']."\" selected>".$idmantenimiento['dias']."</option>\n";
      } else {
         echo 
"<option value=\"".$idmantenimiento['id_mantenimiento']."\">".$idmantenimiento['dias']."</option>\n";
      }
    }
  
   
?>
    </select>

<p><label for="codigo_filtro">Codigo de filtro:</label><input style="width: 200px" TYPE="TEXT" NAME="codigo_filtro" value="<?php echo $rsEmp["codigo_filtro"]; ?>">


<label for="numero_filtro">Numero de filtro:</label><input style="width: 200px" TYPE="TEXT" NAME="numero_filtro" value="<?php echo $rsEmp["numero_filtro"]; ?>"></p>


<label for="responsable">Responsable:</label><input style="width: 200px" TYPE="TEXT" NAME="responsable" value="<?php echo $rsEmp["responsable"]; ?>">

<label for="telefono_responsable">Telefono responsable:</label><input style="width: 200px" TYPE="TEXT" NAME="telefono_responsable"  value="<?php echo $rsEmp["telefono_responsable"]; ?>" class=":digits"></p>

<p><label for="id_tecnico">Tecnico:</label><SELECT name="id_tecnico"> 
<?php

$query1
="select * from tecnico";
$tecnico mysql_query($query1$conexion)or die(mysql_error());;;
$query3="select * from datos_restaurante where id_restaurante=".$idempresa;
$seletecnico=mysql_query($query3,$conexion);
$tecnicosele=mysql_fetch_assoc($seletecnico)or die(mysql_error());;;

 While   (
$idtecnico=mysql_fetch_assoc($tecnico)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idtecnico['id_tecnico'] == $tecnicosele['id_tecnico']){
         echo 
"<option value=\"".$idtecnico['id_tecnico']."\" selected>".$idtecnico['nombre']."</option>\n";
      } else {
         echo 
"<option value=\"".$idtecnico['id_tecnico']."\">".$idtecnico['nombre']."</option>\n";
      }
    }
  
   
?>
</select>

<label>Ruta:</label> 
    <label><select name="id_ruta"> 
<?php

$query3
="select * from ruta";
$ruta mysql_query($query3$conexion)or die(mysql_error());;;
$query4="select * from datos_restaurante where id_restaurante=".$idempresa;
$seleruta=mysql_query($query4,$conexion);
$rutasele=mysql_fetch_assoc($seleruta)or die(mysql_error());;;

 While   (
$idruta=mysql_fetch_assoc($ruta)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idruta['id_ruta'] == $rutasele['id_ruta']){
         echo 
"<option value=\"".$idruta['id_ruta']."\" selected>".$idruta['nombre_ruta']."</option>\n";
      } else {
         echo 
"<option value=\"".$idruta['id_ruta']."\">".$idruta['nombre_ruta']."</option>\n";
      }
    }
  
   
?>

</select>

    <br />
    <label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
    <input type="hidden" id="id" name="id" value="<?php echo $rsEmp["id_restaurante"]; ?>" />
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 21/04/2012, 10:17
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con select option en php

Me fui directamente al problema ignorando cualquier otra cosa y creo que sacando el cierre de select de id_dia_cierre fuera del while podría dejarte de hacer ese comportamiento.


Saludos.
  #3 (permalink)  
Antiguo 21/04/2012, 10:19
 
Fecha de Ingreso: abril-2012
Mensajes: 13
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con select option en php

Ya lo he probado, sigue igual
  #4 (permalink)  
Antiguo 21/04/2012, 10:20
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con select option en php

Me gustaría ver como lo hiciste.
  #5 (permalink)  
Antiguo 21/04/2012, 10:29
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con select option en php

Cita:
Iniciado por manueld79 Ver Mensaje
Cuando pulso para selecionar cualquiera de los otros, este se pulsa también.
Esa es otra cosa que me gustaría que me aclares para tener otras ideas.



Saludos.
  #6 (permalink)  
Antiguo 21/04/2012, 11:45
 
Fecha de Ingreso: abril-2012
Mensajes: 13
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con select option en php

Gracias por ayudarme.
Mira el codigo lo he modificado, quedando asi.


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP con MySQL: Editar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Editar Empresa</h3>



<?php echo $rsEmp["id_restaurante"]; ?>
<form method="post" id="frEmpresa" action="editar.php?action=edit">
        
<p><label for="nombre">Nombre (required):</label><input style="width: 200px" TYPE="TEXT" NAME="nombre" value="<?php echo $rsEmp["nombre"]; ?>" size="36" class=":required" />

<label for="calle">Calle (required):</label><input style="width: 200px" type="text" NAME="calle"  value="<?php echo $rsEmp["calle"]; ?>" class=":required"/></p>

<p><label for="cod_post">Codigo postal:</label><input style="width: 120px" TYPE="TEXT" NAME="cod_post" value="<?php echo $rsEmp["cod_post"]; ?>" class=":number">

<label for="ciudad">Ciudad:</label><input style="width: 120px" TYPE="TEXT" NAME="ciudad"  value="<?php echo $rsEmp["ciudad"]; ?>">


<label for="zona">Zona:</label><input style="width: 120px" TYPE="TEXT" NAME="zona"  value="<?php echo $rsEmp["zona"]; ?>"></p>


<p><label for="telefono">Telefono:</label><input style="width: 200px" TYPE="TEXT" NAME="telefono"  value="<?php echo $rsEmp["telefono"]; ?>" class=":digits">

<label for="email">Email:</label><input style="width: 200px" type="text" NAME="email" value="<?php echo $rsEmp["email"]; ?>" class=":email" /></p>



<label>Dia cierre:</label> 
    <label><select name="id_dia_cierre"> 
<?php

$query
="select * from dia_cierre";
$cierre mysql_query($query$conexion)or die(mysql_error());;;
$query2="select * from datos_restaurante where id_restaurante=".$idempresa;
$selecierre=mysql_query($query2,$conexion);
$cierresele=mysql_fetch_assoc($selecierre)or die(mysql_error());;;

 While   (
$idcierre=mysql_fetch_assoc($cierre)){
    
      if (
$idcierre['id_dia_cierre'] == $cierresele['id_dia_cierre']){
         echo 
"<option value=\"".$idcierre['id_dia_cierre']."\" selected>".$idcierre['dia_semana']."</option>\n";
      } else {
         echo 
"<option value=\"".$idcierre['id_dia_cierre']."\">".$idcierre['dia_semana']."</option>\n";
      }
    }
   
   
?>
   </select>
<label for="id_mantenimiento">Tiempo mantenimiento:</label><SELECT name="id_mantenimiento">
<?php

$query
="select * from mantenimiento";
$mantenimiento mysql_query($query$conexion)or die(mysql_error());;;
$query2="select * from datos_restaurante where id_restaurante=".$idempresa;
$selemantenimiento=mysql_query($query2,$conexion);
$mantenimientosele=mysql_fetch_assoc($selemantenimiento)or die(mysql_error());;;

 While   (
$idmantenimiento=mysql_fetch_assoc($mantenimiento)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idmantenimiento['id_mantenimiento'] == $mantenimientosele['id_mantenimiento']){
         echo 
"<option value=\"".$idmantenimiento['id_mantenimiento']."\" selected>".$idmantenimiento['dias']."</option>\n";
      } else {
         echo 
"<option value=\"".$idmantenimiento['id_mantenimiento']."\">".$idmantenimiento['dias']."</option>\n";
      }
    }
  
   
?>
    </select>

<p><label for="codigo_filtro">Codigo de filtro:</label><input style="width: 200px" TYPE="TEXT" NAME="codigo_filtro" value="<?php echo $rsEmp["codigo_filtro"]; ?>">


<label for="numero_filtro">Numero de filtro:</label><input style="width: 200px" TYPE="TEXT" NAME="numero_filtro" value="<?php echo $rsEmp["numero_filtro"]; ?>"></p>


<label for="responsable">Responsable:</label><input style="width: 200px" TYPE="TEXT" NAME="responsable" value="<?php echo $rsEmp["responsable"]; ?>">

<label for="telefono_responsable">Telefono responsable:</label><input style="width: 200px" TYPE="TEXT" NAME="telefono_responsable"  value="<?php echo $rsEmp["telefono_responsable"]; ?>" class=":digits"></p>

<p><label for="id_tecnico">Tecnico:</label><SELECT name="id_tecnico"> 
<?php

$query1
="select * from tecnico";
$tecnico mysql_query($query1$conexion)or die(mysql_error());;;
$query3="select * from datos_restaurante where id_restaurante=".$idempresa;
$seletecnico=mysql_query($query3,$conexion);
$tecnicosele=mysql_fetch_assoc($seletecnico)or die(mysql_error());;;

 While   (
$idtecnico=mysql_fetch_assoc($tecnico)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idtecnico['id_tecnico'] == $tecnicosele['id_tecnico']){
         echo 
"<option value=\"".$idtecnico['id_tecnico']."\" selected>".$idtecnico['nombre']."</option>\n";
      } else {
         echo 
"<option value=\"".$idtecnico['id_tecnico']."\">".$idtecnico['nombre']."</option>\n";
      }
    }
  
   
?>
</select>

<label>Ruta:</label> 
    <label><select name="id_ruta"> 
<?php

$query3
="select * from ruta";
$ruta mysql_query($query3$conexion)or die(mysql_error());;;
$query4="select * from datos_restaurante where id_restaurante=".$idempresa;
$seleruta=mysql_query($query4,$conexion);
$rutasele=mysql_fetch_assoc($seleruta)or die(mysql_error());;;

 While   (
$idruta=mysql_fetch_assoc($ruta)){
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
      // Se selecciona en consecuencia (selected) la opción elegida.
      
      
if ($idruta['id_ruta'] == $rutasele['id_ruta']){
         echo 
"<option value=\"".$idruta['id_ruta']."\" selected>".$idruta['nombre_ruta']."</option>\n";
      } else {
         echo 
"<option value=\"".$idruta['id_ruta']."\">".$idruta['nombre_ruta']."</option>\n";
      }
    }
  
   
?>

</select>

    <br />
    <label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
    <input type="hidden" id="id" name="id" value="<?php echo $rsEmp["id_restaurante"]; ?>" />
</form>
</body>
</html>

Despues, respecto a ver a lo que me refiero, he tardado mas por lo mismo, lo he subido todo a un servidor gratuito que uso para algunas pruebas.

http://eldeseodedesi.comoj.com/tasca/consultar_restaurante.php

En esa pagina, a cualquiera de las 2 pulsa sobre editar, te pondra en la pagina de la que hablamos, y alli, podras verlo bien


Gracias
  #7 (permalink)  
Antiguo 21/04/2012, 16:37
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con select option en php

Ok ya vi el problema es simple.
Lo que pasa es que al comienzo de cada <select> incluyes una etiqueta que no cierras la cual no esta bien.
por que se entiende que todo lo que este dentro de esa etiqueta hace referencia a ese select.

o sea haces esto
<label><select name="id_ruta"> tienes que eliminar donde quiera que salga ese <label> vacio al principio de los select.


Saludos.
  #8 (permalink)  
Antiguo 21/04/2012, 16:48
 
Fecha de Ingreso: abril-2012
Mensajes: 13
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con select option en php

Correcto, eres un maquina.
Muchísimas gracias tío, solucionado.

Etiquetas: html, mysql, option, registro, select, sql
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 01:23.