Select en un form

Ante todo disculpen mi ignorancia. Soy nuevo en el uso del php, estoy haciendo un cursillo pero en la práctica se me presentan complicaciones que...

La FAQ Select en un form tiene

Pertenece a la categoría:
Pregunta
Ante todo disculpen mi ignorancia. Soy nuevo en el uso del php, estoy haciendo un cursillo pero en la práctica se me presentan complicaciones que seguramente deben ser muy tontas. En este caso el problema que tengo es el siguiente:

Tengo un formulario con un select cuyos valores tomo de una base de datos Mysql. Los valores que se muestran son nombres de personas y el valor que se envía es un código. El tema es que cuando envío el formulario no puedo lograr que el select me mantenga la misma opción elegida sino que la opcion que me aparece como predeterminada es el primer registro de la base de datos en orden alfabetico. Ejemplo:

En el select, entre las opciones "A", "B" y "C", elijo la "B" y cuando el formulario se envía me aparece seleccionada la A cuando lo que necesito es que conserve el valor "B". (OJO, estos valores no son estáticos sino que los tomo de la base).



Sé que debe ser tedioso contestar una pregunta tan básica pero esto es algo que me tiene muy trabado y si alguien pudiera despejarme esta duda le estaría eternamente agradecido


Gracias anticipadas

ArielSan
Respuesta de Sara Alvarez Langa
En Desarrolloweb.com tenemos un articulo titulado "Función que escribe un campo select con valores de una base de datos": http://www.desarrolloweb.com/articulos/1608.php

Donde se explica esta cuestión y seguramente te sea de utilidad.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Perengano

05/8/2009
Quiza...
Bueno quizá, y es algo que a mi me ha pasado, es que al crear tus opciones(options), no les estes asignado el valor (value) que se debe, es decir, en vez de hacer
<select ...>
<option value="a">a</option
<option value="b">b</option
<option value="c">c</option
</select>

estes haciendo

<select ...>
<option value="a">a</option
<option value="a">b</option
<option value="a">c</option
</select>

nota que los "value" en el primer son diferentes y en el segundo son iguales.

bueno espero haberte ayudado. Saludos!

paco

06/8/2009
select
haber si entendi.
unavez que envias la informacion, se envia el codigo ahora ese codigo debe tener un valor dentro de la base de datos ejemplo

codigo desc_codigo
1 A
2 B
3 C

seleccionas la B y se envia el 2 a la base d ed atos
ahora quieres que despues de haber enviado a info, te aparezca la B, bueno una manera de hacerlo es con arreglos y otra seria realizar un select antes de el select
te dejo un codigo que e hecho
<?php
$codigo = $_POST["nombre_de_tu_select"];
$aa = mysql_query("select codigo, desc_codigo from tabla_correspondiente where codigo='$codigo'",$conectar) or die("Problemas con el select".mysql_error());
?>
<select style="WIDTH: 163px" name="nombre_de_tu_select">
<?php
if($ere = mysql_fetch_array($aa)){
$codigo=$ere['codigo'];
$desc_codigo=$ere['desc_codigo'];
echo "<option value="$codigo">$desc_codigo</option>";
}
$sth = mysql_query("select codigo, desc_codigo from tabla_correspondiente",$conectar) or die("Problemas con el select".mysql_error());
while($fr = mysql_fetch_array($sth)){
$codigo=$ere['codigo'];
$desc_codigo=$ere['desc_codigo'];
echo "<option value="$codigo">$desc_codigo</option>";
}
echo "</select>";
?>

espero que te sirva de algo.
Si alguien mas tiene o sabe otra manera de hacerlo para que consuma menos recursos, es bienvenida su aportacion.

saludoss!!!!
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías