PHP - problemas con SELECTED en drop down

 
Vista:

problemas con SELECTED en drop down

Publicado por cristian (3 intervenciones) el 29/05/2006 19:50:52
Hola a todos, bueno como ya no me queda remedio quisiera consultar sobre una lista desplegable que arme en php.

Aqui va el SQL con la tabla:

CREATE TABLE cv_provincias (
idProvincia int(11) NOT NULL auto_increment,
vpro_provincia varchar(255) NOT NULL default '',
idPais` int(11) NOT NULL default '0',
PRIMARY KEY (idProvincia)
) TYPE=MyISAM AUTO_INCREMENT=25 ;

INSERT INTO cv_provincias VALUES (1, 'Capital Federal', 1);
INSERT INTO cv_provincias VALUES (2, 'Buenos Aires', 1);
INSERT INTO cv_provincias VALUES (3, 'Catamarca', 1);
INSERT INTO cv_provincias VALUES (4, 'Chaco', 1);
INSERT INTO cv_provincias VALUES (5, 'Chubut', 1);
INSERT INTO cv_provincias VALUES (6, 'Cordoba', 1);
INSERT INTO cv_provincias VALUES (7, 'Corrientes', 1);
INSERT INTO cv_provincias VALUES (8, 'Entre Rios', 1);
INSERT INTO cv_provincias VALUES (9, 'Formosa', 1);
INSERT INTO cv_provincias VALUES (10, 'Jujuy', 1);
INSERT INTO cv_provincias VALUES (11, 'La Pampa', 1);
INSERT INTO cv_provincias VALUES (12, 'La Rioja', 1);
INSERT INTO cv_provincias VALUES (13, 'Mendoza', 1);
INSERT INTO cv_provincias VALUES (14, 'Misiones', 1);
INSERT INTO cv_provincias VALUES (15, 'Neuquen', 1);
INSERT INTO cv_provincias VALUES (16, 'Rio Negro', 1);
INSERT INTO cv_provincias VALUES (17, 'Salta', 1);
INSERT INTO cv_provincias VALUES (18, 'San Juan', 1);
INSERT INTO cv_provincias VALUES (19, 'San Luis', 1);
INSERT INTO cv_provincias VALUES (20, 'Santa Cruz', 1);
INSERT INTO cv_provincias VALUES (21, 'Santa Fe', 1);
INSERT INTO cv_provincias VALUES (22, 'Santiago del Estero', 1);
INSERT INTO cv_provincias VALUES (23, 'Tierra del Fuego', 1);
INSERT INTO cv_provincias VALUES (24, 'Tucuman', 1);

Aqui va el codigo php del dropdown:

<select name="txtprovincia" id="txtprovincia">
<option value="-1">-- seleccione --</option>
<?php
$rs = mysql_query("SELECT * FROM cv_provincias");
while ($pro = mysql_fetch_array($rs)) {?>
<option value="<?=$pro["vpro_provincia"];?>"><?=$pro["vpro_provincia"];?></option>
<?php } ?></select>

El problema que tengo es que cuando entro al formulario para modificar la provincia que deje seleccionada por ej "Entre Rios" no me aperece como que esta seleccionada sino que me aparece -- seleccione -- pero no me doy mucha idea de como colocar SELECTED en el dropdown en php asi cuando entre al formulario pueda ver lo que seleccione, espero ser claro, sino vuelvo a resuminr o preguntar.

Gracias de antemo!

Cristian
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

...NO FUIESTE CLARO?!

Publicado por gerardo medina (27 intervenciones) el 30/05/2006 03:45:02
Lo del SELECTED lo dejaste por defecto en "-- seleccione --", eso entiendo de ti. Pero eso no veo en tu código que presentaste; además, cuando uno carga la página web asume este por defecto (la del "-- seleccione --", si tiene el SELECTED), pero cuando uno selecciona o recurre al evento "onchange", deja de ser el seleccionado por defecto. Ahora como sabes que no te llega en el URL, el valor que elegiste del "<select></select>", espero tu respuesta del foro...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:...NO FUIESTE CLARO?!

Publicado por cristian (3 intervenciones) el 30/05/2006 05:23:31
Hola Gerardo, puede ser de que no fui claro... bueno te cuento que es asi el tema:

<select name="txtprovincia" id="txtprovincia">
<option value="-1">-- seleccione --</option>
<?php
$rs = mysql_query("SELECT * FROM cv_provincias");
while ($pro = mysql_fetch_array($rs)) {?>
<option value="<?=$pro["vpro_provincia"];?>"><?=$pro["vpro_provincia"];?></option>
<?php } ?></select>

se que en una opcion se coloca:

<option value="<?=$pro["vpro_provincia"];?>" <?php echo {SELECTED };?>><?=$pro["vpro_provincia"];?></option>

estoy seguro de que cuando entre al formulario la opcion seleccionada con anterioridad esta guarda en la DB no me la mostrara, por eso mi pregunta donde coloco o que funcion pongo <?php echo {SELECTED };?> nose si me explico! o sea no me interese en realidad si pongo:

<option value="-1" selected> --seleccione--</option>

sino que quiero mostrar el valor seleccionado que esta guardado en la DB de cv_provincias es es la idea.

Gracias nuevamente!

Cristian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas con SELECTED en drop down

Publicado por Juan Carlos Quintanilla (22 intervenciones) el 30/05/2006 22:49:19
Hola cristian,

Creo que fuiste bastante claro en plantear el asunto.

Mira, lo que puedes hacer es lo siguiente:

En la carga del select, no debes especificar a ninguno el selected, esta cadena guardala en una variable:

$selected = ' selected ';

Ojo con los espacios en blanco, para dfefinir bien el html final.

Ahora, asumo que en la url debe haber un parametro (GET) con el codigo de provincia que has seleccionado verdad. Si no esta en la url, estará como POST.

Sea cual fuere la forma, tu debes saber que provincia ha sido seleccionada. Lo guardo en variable:

$provincia = $_POST['idProvincia']; O
$provincia = $_GET['idProvincia']; O
$provincia = $_REQUEST['idProvincia']; esto ultimo recupera GET o POST.

Entonces aqui:

while ($pro = mysql_fetch_array($rs)) {?>
<option value="<?=$pro["vpro_provincia"];?>" <?php if ($provincia == $pro["idProvincia"]) echo $selected; ?>><?=$pro["vpro_provincia"];?></option>

Estoy comparando el id, que seleccione, y lo comparo con la matriz de provincias según el campo id.

Espero que te sirva.

Algo adicional:

Utiliza la función echo para mostrar texto en pantalla.
Declara las etiquetas php como <?php

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas con SELECTED en drop down

Publicado por Cristian (3 intervenciones) el 31/05/2006 02:56:47
Hola Juan Carlos!

Gracias por tu respuesta creo que fue muy convincente y era lo que estaba buscando, tenia dudas al respecto de como formar este selected ya que nunca habia hecho nada, pero no sabia donde implementarlo... gracias nuevamente....

Saludos!

Cristian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar