Foros del Web » Programando para Internet » PHP »

for i select desplegable html

Estas en el tema de for i select desplegable html en el foro de PHP en Foros del Web. tengo un problema en el if en este caso no devuelvo ninguna información de ninguna table de mysql porque no hace falta es del 1-31 ...
  #1 (permalink)  
Antiguo 12/07/2011, 19:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
for i select desplegable html

tengo un problema en el if en este caso no devuelvo ninguna información de ninguna table de mysql porque no hace falta es del 1-31
en otras ocasiones podría devolver $row['a'] y ya funcionaria porque las variables seria distintas
pero estoy comparando la misma variable y no se como hacerlo para comparar otra variable
me salen todos los campos selected

espero que se entienda mi pregunta

Código HTML:
Ver original
  1. <label for="dia">Dia: *</label><br/>
  2.               <select id="dia" name="dia">
  3.                 <option value="00" selected="selected"> - Selecciona una Dia - </option>
  4.                 <optgroup label="Dia">

Código PHP:
Ver original
  1. <?php
  2.                 for($dia = 01; $dia <=31; $dia++){
  3.                     echo "<option value=\"$dia\"";
  4.                     if($dia == $dia ){
  5.                         echo  "selected = \"selected\"";
  6.                     }
  7.                     echo ">$dia</option>";
  8.                 }
  9.                ?>
Código HTML:
Ver original
  1.             </select>

Última edición por albertrc; 12/07/2011 a las 19:58
  #2 (permalink)  
Antiguo 12/07/2011, 20:00
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: for i select desplegable html

supongo que quieres comparar $dia con el dia actual....
Código PHP:
Ver original
  1. if ($dia == date('j')) {
  2.     echo "hoy es: " . $dia;
  3. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 12/07/2011, 20:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: for i select desplegable html

estoy haciendo un formulario de registro de usuario
hacer 3 desplegables select
uno para el día 1-31 otro para el mes 1-12 y otro para el año 1920-1993

esto Nemutagk no quiero que me seleccione el día de hoy si no que compare dos variables y me haga selected de una he hecho otro for pero después me devuelve los 31 valores en el campo
tu método solo funciona con el dia de hoy pero no es lo que yo quiero
quiero que pueda elegir los 31 dias

en caso de ser un dia el value que valor tiene que tener si es un int o puede estar vacio
<option value="00" selected="selected"> - Selecciona una Dia - </option>
en caso de ser provincia el value que valor tiene que tener si es un varchar o puede estar vacio
<option value="00" selected="selected"> - Selecciona una Província - </option>

estoy cogiendo las provincias de la base de datos pero tengo el mismo problema en el if
Código HTML:
Ver original
  1. <label for="provincia_nombre">Provincia: *</label><br/>
  2.               <select id="provincia_nombre" name="provincia_nombre">
  3.                 <option value="00" selected="selected"> - Selecciona una Província - </option>
  4.                     <optgroup label="Provincia">
Código PHP:
Ver original
  1. <?php
  2.  
  3.                       while($row_provincia_nombre = mysqli_fetch_array($result_provincia_nombre, MYSQLI_ASSOC)){
  4.                         echo "<option value=\"" .  $row_provincia_nombre["provincia_nombre"]  . "\"";
  5.                         if($row_provincia_nombre["provincia_nombre"] == $row_provincia_nombre["provincia_nombre"] ){
  6.                             echo  "selected = \"selected\"";
  7.                         }
  8.                  
  9.                         echo ">" . ucwords($row_provincia_nombre["provincia_nombre"]) . "</option>";
  10.                     }
  11.                   ?>
Código HTML:
Ver original
  1.               </select>

Última edición por albertrc; 12/07/2011 a las 22:58
  #4 (permalink)  
Antiguo 13/07/2011, 03:19
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: for i select desplegable html

No tiene ningún sentido lo que estás comentando, no puedes comparar una variable consigo misma, porque siempre va a dar true, por eso te pone selected en todas las opciones del select.

Tendrás que comparar la variable esa con una variable que saques de algún otro lado en la que tengas el único valor que quieras que esté selected.

Explícate mejor, porque así es imposible entenderte.

Un saludo.
  #5 (permalink)  
Antiguo 13/07/2011, 07:04
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: for i select desplegable html

Tal cual como dice el compañero de arriba, ni idea de que quieras hacer
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 13/07/2011, 07:28
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: for i select desplegable html

¿Y si quitas el IF? Sólo tendrás un selected que será "Seleccione una provincia" o "Seleccione un dia" ;)
  #7 (permalink)  
Antiguo 14/07/2011, 20:47
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: for i select desplegable html

Código HTML:
Ver original
  1. <label for="dia">Dia: *</label><br/>
  2.               <select id="dia" name="dia">
  3.                 <option value="" selected="selected"> - Selecciona una Dia - </option>
  4.                     <optgroup label="Dia">
Código PHP:
Ver original
  1. <?php
  2.                    
  3.                     for($for = 1; $for <=31; $for++){
  4.                         echo "<option value=\""  if(isset($dia)) echo $dia   "\"";
  5.                         if($for == $_POST['dia'] ){
  6.                             echo  "selected = \"selected\"";
  7.                         }
  8.                         echo ">$for</option>";
  9.                     }
  10.                     echo $dia_error;
  11.                     ?>
Código HTML:
Ver original
  1.               </select>

tengo 2 variables $dia y $for estarían bien en toda esta sentencia
aquí me devuelve un error
echo "<option value=\"" if(isset($dia)) echo $dia "\"";

en otra ocasiones podría devolver $row[' '] si devuelvo algo de la base de datos

en caso de ser un dia el value que valor tiene que tener si es un int o puede estar vacio
<option value="00" selected="selected"> - Selecciona una Dia - </option>
en caso de ser provincia el value que valor tiene que tener si es un varchar o puede estar vacio
<option value="00" selected="selected"> - Selecciona una Província - </option>
  #8 (permalink)  
Antiguo 15/07/2011, 02:32
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: for i select desplegable html

Claro que te va a dar error, estás poniendo dos echo en la misma línea:
echo "<option value=\"" if(isset($dia)) echo $dia "\"";

Tienes que cambiarlo por esto
Código PHP:
if (isset($dia)) {
    echo 
'<option value="' $dia '"';

Insisto en una idea, si utilizáis comillas simples para las cadenas de php no tendréis que escapar las comillas dobles de HTML.

Un saludo.
  #9 (permalink)  
Antiguo 15/07/2011, 12:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: for i select desplegable html

he quitado el segundo echo y me da error
en el for a lo mejor no tiene que ir
Código PHP:
Ver original
  1. if(isset($dia)) echo $dia
el if le tiene que llegar siempre por post no, el parámetro para poder comparar con el parámetro de la base de datos,
tanto si lo compara con un array de la base de datos o con una variable


Código HTML:
Ver original
  1. <label for="provincia">Província: *</label><br/>
  2.               <select id="provincia" name="provincia">
  3.                 <option value="00" selected="selected"> - Selecciona una Província - </option>
  4.                     <optgroup label="Província">
Código PHP:
Ver original
  1. <?php
  2. while($row_provincia = mysqli_fetch_array($result_provincia, MYSQLI_ASSOC)){
  3.                         echo "<option value=\"" . $row_provincia["provincia"] . "\"";
  4.                         if($row_provincia["provincia"] == $_POST["provincia"] ){
  5.                             echo  "selected = \"selected\"";
  6.                         }
  7.  
  8.                         echo ">" . $row_provincia["provincia"] . "</option>";
  9.                     }
  10.                   ?>
Código HTML:
Ver original
  1.               </select>



aunque seleccione el 2 no sale selected o se va a seleccionar después de hacer el submit,
tengo varios campos el formulario quiero que si envió el formulario y hay campos que están mal no tenga que volver a rellenar todos los campos, esto como se hace en el select
la validación esta hecha con php
esta es la forma correcta o hay alguna manera de hacer lo mismo

Código HTML:
Ver original
  1. <label for="dia">Dia: *</label><br/>
  2.               <select id="dia" name="dia">
  3.                 <option value="" selected="selected"> - Selecciona una Dia - </option>
  4.                     <optgroup label="Dia">
Código PHP:
Ver original
  1. <?php
  2.  
  3.                     for($dia= 1; $dia<=31; $dia++){
  4.                         echo "<option value=\"" . $dia .  "\"";
  5.                         if($dia== $_POST['dia'] ){
  6.                             echo  "selected = \"selected\"";
  7.                         }
  8.                         echo ">" . $dia . "</option>";
  9.                     }
  10.                     echo $dia_naixement_client_error;
  11.                     ?>
Código HTML:
Ver original
  1.               </select>

Última edición por albertrc; 15/07/2011 a las 13:10

Etiquetas: desplegable, html, mysql, select, variables
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 06:50.