Foros del Web » Programando para Internet » PHP »

Problema al insertar valor bd en select name

Estas en el tema de Problema al insertar valor bd en select name en el foro de PHP en Foros del Web. Hola estoy intentando hacer lo siguiente: meter en un formulario cogiendo la información de la base de datos y rellenarla automáticamente para poder editar esa ...
  #1 (permalink)  
Antiguo 09/06/2008, 09:26
 
Fecha de Ingreso: diciembre-2002
Mensajes: 130
Antigüedad: 21 años, 4 meses
Puntos: 0
Problema al insertar valor bd en select name

Hola estoy intentando hacer lo siguiente:

meter en un formulario cogiendo la información de la base de datos y rellenarla automáticamente para poder editar esa información y poder introducirla de nuevo.

El problema lo tengo única y exclusivamente con un select name.

Yo tengo mi formulario de inserción y me lo inserta perfectamente, yo le indico en el select name en que proyecto está trabajando sin problemas.

El problema viene cuando yo quiero meter la información que esta en la bd en el formulario, todos los input name me salen perfectamente el problema viene en el select name, me aparece todos los valores del listado ordenados alfabéticamente pero no me sale marcado el registro que está guardado en la bd. ¿Qué tengo mal? Esta es la parte del código del select.


<TD>

<label>
<select name="PROYECTOS" id = "PROYECTOS" size="1">
<?
$listanombre = mysql_query("select * from PROYECTOS where VIGENTE <0 order by NOMBRE ASC");
$row = mysql_fetch_array($listanombre);
while($row){
$nomlista = $row["CODIGO"];
print "<option value=\"$nomlista\">" . $row["NOMBRE"] . "</option>";
$row = mysql_fetch_array($listanombre);
}
?>
</select>
</label> </TD>



Un saludo.
  #2 (permalink)  
Antiguo 09/06/2008, 10:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al insertar valor bd en select name

seria una cosa asi

Código PHP:

while($row mysql_fetch_array($listanombre)){
$nomlista $row["CODIGO"];
print 
"<option value=\"$nomlista\">" $row["NOMBRE"] . "</option>";


  #3 (permalink)  
Antiguo 10/06/2008, 00:13
 
Fecha de Ingreso: diciembre-2002
Mensajes: 130
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

Sigue sin seleccionar el registro que hay en la bd. ¿Qué puede haber mal?
  #4 (permalink)  
Antiguo 10/06/2008, 01:30
 
Fecha de Ingreso: junio-2008
Mensajes: 34
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

Prueba asi...

Código HTML:
<?
$listanombre = mysql_query("select * from PROYECTOS where VIGENTE <0 order by NOMBRE ASC");
$row = mysql_fetch_array($listanombre);
?>
<select name="PROYECTOS" id="PROYECTOS" size="1">
<?
while($row){
?>
<option value="<? echo $row["id_usuario"] ?>"><? echo $row["nombre"] ?></option>
<?
}
?>
</select> 
Un saludo
  #5 (permalink)  
Antiguo 10/06/2008, 03:40
 
Fecha de Ingreso: junio-2004
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

tal y como lo estas haciendo te saca todos las opciones del select, guardate en una variable el valor que tienes almacenado en tu campo de la bd, y dentro del while haces una comparacion y si lo que vas imprimir es igual a la variable que has guardado antes, que le ponga el atributo selected.

salu2
  #6 (permalink)  
Antiguo 10/06/2008, 08:55
 
Fecha de Ingreso: diciembre-2002
Mensajes: 130
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

No entiendo bien lo que tengo que hacer. Me lo podrías explicar mejor con algo de codigo.

Gracias.
  #7 (permalink)  
Antiguo 11/06/2008, 00:39
 
Fecha de Ingreso: diciembre-2002
Mensajes: 130
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

Alguien me echa una mano. Gracias.
  #8 (permalink)  
Antiguo 11/06/2008, 01:25
 
Fecha de Ingreso: diciembre-2002
Mensajes: 130
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Problema al insertar valor bd en select name

SOLUCIONADO.

El código que he utilizado es este:

<?
$proy_apun = mysql_query("select * from PROYECTOS, HORAS where PROYECTOS.CODIGO = HORAS.PROYECTO AND HORAS.APUNTE ='$apunte' order by NOMBRE ASC");
$apun = mysql_fetch_array($proy_apun);
$proyect = $apun["CODIGO"];

$listanombre = mysql_query("select * from PROYECTOS where VIGENTE <0 order by NOMBRE ASC");
$row = mysql_fetch_array($listanombre);


while($row)
{
$nomlista = $row["CODIGO"];

if ($nomlista == $proyect)
{
print "<option value=\"$nomlista\" selected>" . $row["NOMBRE"] . "</option>";
}
else
{
print "<option value=\"$nomlista\" >" . $row["NOMBRE"] . "</option>";
}
$row = mysql_fetch_array($listanombre);
}
?>
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 17:19.