Foros del Web » Programando para Internet » PHP »

hay algo que no resuelvo

Estas en el tema de hay algo que no resuelvo en el foro de PHP en Foros del Web. hola tengo el siguiente codigo que rescata una lista de opciones de una tabla x , luego dicha opcion seleccionada es mas adelante guardada en ...
  #1 (permalink)  
Antiguo 08/08/2005, 09:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
hay algo que no resuelvo

hola tengo el siguiente codigo que rescata una lista de opciones de una tabla x , luego dicha opcion seleccionada es mas adelante guardada en otra tabla
con otros datos ..etc
Cuando me conecto a la tabla selecciono el id y la opcion y hace todo el procedimiento ok , cuando grabo a la tabla me graba el numero de id,(que en realidad me podria servir tambien) pero lo que yo quiero es grabar el nombre de la opcion.(saque el id de todos lados , pero no me resulta, ni siquiera me muestra la lista de opciones en la pagina) ojala me puedan ayudar un poco
graciasssss

<td bgcolor="#ccffff""><select name="opcion" tabindex="4" >
<?php
$result_opcion= mysql_query("select id, opcion from opciones");
$fila = 0;
$num_filas = mysql_numrows($result_opcion);
while($fila < $num_filas) {
$row = mysql_fetch_array ($result_opcion);
if($opciones == $row["opcion"]) {
printf("<option value=\"%d\"selected>%s</option>",$row["id"],$row["opcion"]);
}
else {
printf("<option value=\"%d\">%s</option>",$row["id"],$row["opcion"]);
}
$fila++;
}
?>
</select>
</td>
  #2 (permalink)  
Antiguo 08/08/2005, 10:31
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Que tal así:
Código PHP:
<? ?><td bgcolor="#ccffff"><select name="opcion" tabindex="4">
<?php
$result_opcion
mysql_query("SELECT id, opcion FROM opciones");
$fila 0;
$num_filas mysql_num_rows($result_opcion);
while(
$fila $num_filas) {
$row mysql_fetch_array ($result_opcion);

echo 
"<option value=\"".$row['id']."\"";
if(
$opciones == $row["opcion"]) { echo "selected"; }
echo 
">".$row['option']."</option>";
$fila++;
}
?>
</select>
</td>
  #3 (permalink)  
Antiguo 08/08/2005, 10:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Prueba esto:

Código PHP:
<td bgcolor="#ccffff"">
<select name="opcion" tabindex="4">
<?php
   $result_opcion
mysql_query("select id, opcion from opciones");
   
$num_filas mysql_num_rows($result_opcion);
   if (
$result_opcion && $num_filas>0)
   {
      while(
$row=mysql_fetch_assoc($result_opcion)) 
      {

?>
<option><?php echo $row['opcion']?></option>
<?php
      
}
   }
?>
</select>
  #4 (permalink)  
Antiguo 08/08/2005, 10:37
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
Bueno podrias hacer lo siguiente..

ese campo del id que solo sirva para la seleccion en pones un campo hidden que sera el que en realidad guarde el dato y para pasar el valor al campo oculto algo asi
Código HTML:
<script>
function actualiza(){
document.nombredetuform.nombredetucampohideen.value=document.nombredetuform.nombredetucamposelect.text;
}
</script> 
y en el select
Código HTML:
<SELECT name="elquesea"  id="elquesea" onchange="actualiza()"> 
Espero que te sirva

Un Saludo
  #5 (permalink)  
Antiguo 08/08/2005, 10:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
gracias a todos probare con todo :) de ahi les cuento
  #6 (permalink)  
Antiguo 08/08/2005, 16:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
hola de nuevo :) con lo que me puso lado2mx me resulto bien, mmm pero lo que no logro hacer (y ya he probado de todo) es cuando consulto por proveedor (de eso se trata la base de datos) por ejemplo coloco el rut y me muestra sus datos, pero quiero que en la lista de opciones me visualice la que el selecciono y no la primera de la lista, he buscado por todos lados ese codigo y no lo encuentro. alguno lo sabe..+- se lo agradecere
  #7 (permalink)  
Antiguo 09/08/2005, 01:05
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
es que si te fijas el codigo de lado2mx ya hace eso

if($opciones == $row["opcion"]) { echo "selected"; }

si la variable opciones es igual a el contenido del campo opcion pone un selected
comprueba el valor que recibe el $opciones
ono es eso lo que te refieres?

Un Saludo
  #8 (permalink)  
Antiguo 09/08/2005, 08:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
mmm (ya me confundi) en palabras simples lo que quiero lograr es lo siguiente, si mi lista de opciones es

negro
rojo
verde

si seleccionan rojo y ese es el dato que se almacena, como hago yo para que cuando consulte me visualice en la lista "rojo" y no el primero "negro" como lo hace hasta ahora quizas tengo que trabajar con las dos tablas (la que tengo los datos incluido este, y la tabla donde esta la lista) graciassssssssssss
  #9 (permalink)  
Antiguo 09/08/2005, 08:48
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Aqui: if($opciones == $row["opcion"]) { echo "selected"; } lado2mx compara que la opcion elegida anteriormente sea igual a alguna de la base de datos, y si es igual selecciona esa para que se vea. Por tanto, debes asignarle a la variable $opciones el valor que el formulario envió anteriormente para el select "opcion".
  #10 (permalink)  
Antiguo 09/08/2005, 10:34
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
hola lo probe asi en resultados tenia el dato jijij me resulto
if($resultados[opcion] == $row["opcion"]) { echo "selected"; }
echo ">".$row['opcion']."</option>";
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 02:30.