Foros del Web » Programando para Internet » PHP »

Pasar un registro de texfield a combobox

Estas en el tema de Pasar un registro de texfield a combobox en el foro de PHP en Foros del Web. Lo que pasa es que tengo unos formularios: el primero es para ingresar programas que pertenecen a un nucleo, este nucleo lo escoje de un ...
  #1 (permalink)  
Antiguo 21/09/2012, 12:10
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Pasar un registro de texfield a combobox

Lo que pasa es que tengo unos formularios: el primero es para ingresar programas que pertenecen a un nucleo, este nucleo lo escoje de un combobox que extrae los datos de la base de datos. El segundo formulario Busca en la base de datos ese programa y muestra el nombre del nucleo en una tabla al que pertenece pero ademas lo mando a otra pagina para que pueda modificar los datos pero no se como pasar ese valor que se muestra al buscar el nucleo que esta en una tabla para el combobox. Espero que me halla exlicado este es mi codigo:

Código PHP:
<?php if(isset($_POST['consigla']) &&  isset($_POST['connombre'])){
    
    
 
$guardasigla $_POST['consigla'];
$guardanombre $_POST['connombre'];
 
mysql_select_db($database_conexion$conexion);
@
mysql_query("SET NAMES 'utf8'");
$query_Recordset1 "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE sigla_programa LIKE '%$guardasigla%' AND nombre_programa LIKE '%$guardanombre%' AND programas.id_nucleo=nucleos.id_nucleo";
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());
}


?>
 <form action="<?php echo $editFormAction?>" method="post" name="form2" id="form2">
    <table align="center">
      <tr valign="baseline">
      
        <td nowrap="nowrap" align="right">Sigla:</td>
        <td> <input name="consigla" type="text" id="consigla" value="" size="20" /></td>
          
        <td nowrap="nowrap" align="right">Nombre:</td>
        <td><input name="connombre" type="text" id="connombre" value="" size="20" /></td>
        
        <td><input name="Buscar" type="submit" id="Buscar" value="Consultar" /> </td>               
              
        </tr>
      </table>
     
        
    <?php
    
    $numfilas 
mysql_num_rows($Recordset2); 
    
    
    echo 
'<table cellpadding="0" cellspacing="0" width="50%" >';
    echo 
'<thead><tr><td>No.</td><td>NUCLEO</td><td>SIGLA</td><td>NOMBRE</td><td>DURACION</td></tr></thead>';
    echo 
"</table>";
    
         
     
    
?>        
    
    <div id="adentro2">
      
      <?php
  
      
 
    
echo '<table cellpadding="0" cellspacing="0" width="50%">';
    for (
$i=0$i<$numfilas$i++)
    {
         
$fila mysql_fetch_array($Recordset1);
        
$numlista $i 1;
        
        echo 
'<tr><td>'.$numlista.'</td>';
        echo 
'<td>'.$fila['nombre_nucleo'].'</td>';
        echo 
'<td>'.$fila['sigla_programa'].'</td>';
        echo 
'<td>'.$fila['nombre_programa'].'</td>';
        echo 
'<td>'.$fila['duracion_programa'].'</td>';
        
        echo 
'<td><a href="modificarprogramas.php?id='.$fila['id_programa'] .'nombre='.$fila['nombre_nucleo'].'">Ver</a></td></tr>';
    } 
    echo 
"</table>";
    
    
  
?>
  
     
     
     
    </form>

con esto muestro el programa y el nucleo al que pertenece
  #2 (permalink)  
Antiguo 21/09/2012, 12:14
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

ahora este este es codigo que recibe los datos pero no se como mostrar el nucleo al que pertenece en un combobox

Código PHP:
<?php $editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  
$updateSQL sprintf("UPDATE programas SET id_nucleo=%s, sigla_programa=%s, nombre_programa=%s, duracion_programa=%s WHERE id_programa=%s",
                       
GetSQLValueString($_POST['id_nucleo'], "int"),
                       
GetSQLValueString($_POST['sigla_programa'], "text"),
                       
GetSQLValueString($_POST['nombre_programa'], "text"),
                       
GetSQLValueString($_POST['duracion_programa'], "int"),
                       
GetSQLValueString($_POST['id_programa'], "int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());
   
$updateGoTo "programasmodificar.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
    
$updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$updateGoTo));
}


mysql_select_db($database_conexion$conexion);
$id$_GET['id'];
$nombre$_GET['nombre'];

$query_Recordset1 "SELECT programas.id_programa, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas, nucleos WHERE id_programa = '$id' AND nucleos.nombre_nucleo = '$nombre'";
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset2);


?>

 <form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
 [HTML]   <table align="center">
     
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nucleo:</td>
        <td>
        
           <label for="nombre"><?php echo $_GET['nombre_nucleo']?></label>
 
                  <select name="nombre" id="nombre">
          </select></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Sigla del Programa:</td>
        <td><input type="text" name="sigla_programa" value="<?php echo htmlentities($row_Recordset1['sigla_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nombre del Programa:</td>
        <td><input type="text" name="nombre_programa" value="<?php echo htmlentities($row_Recordset1['nombre_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Duracion del Programa:</td>
        <td><input type="text" name="duracion_programa" value="<?php echo htmlentities($row_Recordset1['duracion_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="right">&nbsp;</td>
        <td><input type="submit" value="Update record" /></td>
      </tr>
    </table>[/HTML]
    <input type="hidden" name="MM_update" value="form1" />
    <input type="hidden" name="id_programa" value="<?php echo $row_Recordset1['id_programa']; ?>" />
  </form>
  #3 (permalink)  
Antiguo 21/09/2012, 17:21
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Pasar un registro de texfield a combobox

Bueno es para que lo intente y de esta forma los que ayudamos no coloquemos codigo ....

Código HTML:
Ver original
  1. Consulta en php e inicio del recorrido con el resultado dentro de un array.
  2. <option value="valor del array">Voy mostrando lo que va coincidiento en el array.</option>
  3. Cierro el ciclo que recorre el array.

Ese seria el esquema para mostrar la informacion dentro de un select.
  #4 (permalink)  
Antiguo 21/09/2012, 20:14
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

y este array en cual va? en la que lo manda o en la que lo recibe?
  #5 (permalink)  
Antiguo 21/09/2012, 21:22
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Pasar un registro de texfield a combobox

Dentro del Select que usted quiere postetear ...

Código PHP:
Ver original
  1. echo '<select name="plato">';
  2. //Generamos el menu desplegable
  3. while ($row=mysql_fetch_array($Recordset1))
  4. {
  5.     echo "<option value='".$row['id_programa']."''>".$row['sigla_programa']."</option>";
  6. }
  7. mysql_free_result($Recordset1)
  8. echo '</select>';

Me cuenta si le sirve .....
  #6 (permalink)  
Antiguo 21/09/2012, 23:25
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

hola fjrueda me sirvio perfecto, pero no me lista los otros nucleos, y pues quiero que elija entre los otros datos de la tabla, ya que lo estoy envando a un formulario de modificar.

Código PHP:
[HTML]<form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
    <table align="center">
     
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nucleo:</td>
        <td>
      
      <select name="plato">
      <?php
//Generamos el menu desplegable
while ($row=mysql_fetch_array($Recordset1))
{
    echo 
"<option value='".$row['id_nucelo']."''>".$row['nombre_nucleo']."</option>";
}
mysql_free_result($Recordset1)?>

</select>

           </td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Sigla del Programa:</td>
        <td><input type="text" name="sigla_programa" value="<?php echo htmlentities($row_Recordset1['sigla_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nombre del Programa:</td>
        <td><input type="text" name="nombre_programa" value="<?php echo htmlentities($row_Recordset1['nombre_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Duracion del Programa:</td>
        <td><input type="text" name="duracion_programa" value="<?php echo htmlentities($row_Recordset1['duracion_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="right">&nbsp;</td>
        <td><input type="submit" value="Update record" /></td>
      </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1" />
    <input type="hidden" name="id_programa" value="<?php echo $row_Recordset1['id_programa']; ?>" />
  </form>[/HTML]
no se que estoy haciendo mal, pero te lo agradezco mucho
  #7 (permalink)  
Antiguo 21/09/2012, 23:34
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

ya se que fue lo que paso fue en la consulta sql = "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE sigla_programa LIKE '%$guardasigla%' AND nombre_programa LIKE '%$guardanombre%' AND programas.id_nucleo=nucleos.id_nucleo";

mmmmmmm seria mucha molestia pedirte que me guies como mostrar el combo box con el campo seleccionado anteriormente, pero que salga la lista completa.
no se si me explico.

Disculpa tanta molestia
  #8 (permalink)  
Antiguo 22/09/2012, 11:39
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Pasar un registro de texfield a combobox

Nop, no le entiendo muy bien lo que quiere decir .... pero si le puedo decir que mejore la consulta SQL.

ahora :
Código MySQL:
Ver original
  1. SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE sigla_programa LIKE '%$guardasigla%' AND nombre_programa LIKE '%$guardanombre%' AND programas.id_nucleo=nucleos.id_nucleo

Seria mejor :
Código MySQL:
Ver original
  1. SELECT p.id_programa, p.id_nucleo, p.sigla_programa, p.nombre_programa, p.duracion_programa, n.nombre_nucleo FROM programas p, nucleos n WHERE p.sigla_programa LIKE '%$guardasigla%' AND p.nombre_programa LIKE '%$guardanombre%' AND p.id_nucleo=n.id_nucleo

En los input tipo select, usted puede mostrar todo lo que usted quiera, cada conteniedo debe tener su valor equivalente y solo se limitan a la consulta SQL que usted haga (en su caso).
  #9 (permalink)  
Antiguo 22/09/2012, 14:00
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

bueno yo muestro en una tabla los datos de un programa que pertenece a un nucleo, toda esa nformacion la muestro en una tabla ahora con un elace mando esos datos a un formulario de modificar, como quiero eso modificar, deseo que aparezca el nucleo al que pertenece ese programa seleccionado en un combobox pero que no solo aparezca ese sino todos los demas para poder cambiar de nucleo si se desea modificar eso.

esta es la consulta para mostrar la tabla
Código PHP:
if(isset($_POST['consigla']) &&  isset($_POST['connombre'])){
 
$guardasigla $_POST['consigla'];
$guardanombre $_POST['connombre'];
 
mysql_select_db($database_conexion$conexion);
@
mysql_query("SET NAMES 'utf8'");
$query_Recordset1 "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE sigla_programa LIKE '%$guardasigla%' AND nombre_programa LIKE '%$guardanombre%' AND programas.id_nucleo=nucleos.id_nucleo";
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());

y esta la tabla
Código PHP:
<?php
    
    $numfilas 
mysql_num_rows($Recordset2); 
    
    
    echo 
'<table cellpadding="0" cellspacing="0" width="50%" >';
    echo 
'<thead><tr><td>No.</td><td>NUCLEO</td><td>SIGLA</td><td>NOMBRE</td><td>DURACION</td></tr></thead>';
    echo 
"</table>";
    
         
     
    
?>        
    
    <div id="adentro2">
      
      <?php
  
      
 
    
echo '<table cellpadding="0" cellspacing="0" width="50%">';
    for (
$i=0$i<$numfilas$i++)
    {
         
$fila mysql_fetch_array($Recordset1);
        
$numlista $i 1;
        
        echo 
'<tr><td>'.$numlista.'</td>';
        echo 
'<td>'.$fila['nombre_nucleo'].'</td>';
        echo 
'<td>'.$fila['sigla_programa'].'</td>';
        echo 
'<td>'.$fila['nombre_programa'].'</td>';
        echo 
'<td>'.$fila['duracion_programa'].'</td>';
        
        echo 
'<td><a href="modificarprogramas.php?id='.$fila['id_programa'] .'>nombre='.$fila['id_nucleo'].'"> Ver</a></td></tr>';
    } 
    echo 
"</table>";
    
    
  
?>
  
      </div>
     
     
    </form>
    
</div>
  #10 (permalink)  
Antiguo 22/09/2012, 14:04
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

esta es el formulario que lo recibe con su respectiva consulta

consulta
Código PHP:
mysql_select_db($database_conexion$conexion);
$id$_GET['id'];
$nombre$_GET['nombre'];

$query_Recordset1 "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE programas.id_programa = '$id' AND 
programas.id_nucleo='$nombre'"
;
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset2); 
formulario

Código PHP:
<form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
    <table align="center">
     
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nucleo:</td>
        <td>
   

      <select name="listnucleo">
      
      <?php
//Generamos el menu desplegable
while ($row=mysql_fetch_array($Recordset1))
{
    echo 
"<option value='".$row['id_nucleo']."''>".$row['nombre_nucleo']."</option>";
}
mysql_free_result($Recordset1)?>

</select>

           </td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Sigla del Programa:</td>
        <td><input type="text" name="sigla_programa" value="<?php echo htmlentities($row_Recordset1['sigla_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nombre del Programa:</td>
        <td><input type="text" name="nombre_programa" value="<?php echo htmlentities($row_Recordset1['nombre_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Duracion del Programa:</td>
        <td><input type="text" name="duracion_programa" value="<?php echo htmlentities($row_Recordset1['duracion_programa'], ENT_COMPAT'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="right">&nbsp;</td>
        <td><input type="submit" value="Update record" /></td>
      </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1" />
    <input type="hidden" name="id_programa" value="<?php echo $row_Recordset1['id_programa']; ?>" />
  </form>
se que estoy pidendo demasiado, segun yo con este
Código PHP:
$nombre$_GET['nombre']; 
trato de mandar el id del nucleo seleccionado en la tabla anterior pero al mandarlo al formulario pues no aparece.
De verdadnagradezco la ayuda que me has dado porque me sirvio para lo primero ahora pues esto es lo que trato pero no me sale
  #11 (permalink)  
Antiguo 22/09/2012, 16:36
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Pasar un registro de texfield a combobox

Osea, usted se refiere hacer algo asi :
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. function seleccion(s, i)
  3. {
  4.    document.getElementById(i).value = s.value;
  5. }
  6. </head>
  7. <body>Seleccione algo :
  8. <select id="opt1" onChange="seleccion(this, 'rt1')">
  9.     <option value="uno">1</option>
  10.     <option value="dos">2</option>
  11.     <option value="tres">3</option>
  12.     <option value="cuatro">4</option>
  13. </select><br />
  14. Dato seleccionado :
  15. <input type="text" id='rt1' />
  16. </body>
  17. </html>

Pero que el dato seleccionado se guarde en el "hidden que tiene hay' ??, si no va tocar que me envie eso y lo miramos.
  #12 (permalink)  
Antiguo 22/09/2012, 19:01
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pasar un registro de texfield a combobox

bueno ese codigo no se donde iria, en un formulario insertar selecciono de un combobox es una pagina aparte, luego en otra pagina lo muestro en una tabla, y lo mando a otra pagina para que lo muestre en un combobox, el cual tendra los otros datos para que pueda modificarlo.

osea que cuando pase de la tabla que lo muestra al modificar lo muestre en el combobox seleccionado el campo

Última edición por arlene90; 22/09/2012 a las 19:11

Etiquetas: combobox, formulario, mysql, registro, sql, tabla, texfield
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 21:17.