Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar dos valores de un input... en dos campos diferentes

Estas en el tema de Insertar dos valores de un input... en dos campos diferentes en el foro de PHP en Foros del Web. Hola a todos tengo el siguiente código... con el cual al elegir una opción de un select muestra en un input (periodoesc) el id (coma) ...
  #1 (permalink)  
Antiguo 09/12/2013, 11:37
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Exclamación Insertar dos valores de un input... en dos campos diferentes

Hola a todos tengo el siguiente código... con el cual al elegir una opción de un select muestra en un input (periodoesc) el id (coma) periodo... esto anda bien.... pero intento que esos dos valores separados por la coma.... se inserten en dos campos distintos...¿Esto es posible?...

Código PHP:
 <select name="combo1" id="combo1" style="width:191px" onChange="document.getElementById('periodoesc').value = this.options[this.selectedIndex].value" >
              <option text="0">Seleccionar</option>
              <?php
      
       
$db 
= new MySQL();  
$db->open();
$consulta $db->consulta("SELECT * FROM periodoesc");
if (
$row $db->fetch_array($consulta)) {
    do {
        echo 
        
'<option value="'.$row[id].','.$row[periodo].'">'.$row[periodo].'</option>';
    }while(
$row $db->fetch_array($consulta));
}
?> 
              </select> <input type="text" name="periodoesc" id="periodoesc" size="25" maxlength="25" />

Desde ya Gracias :)
  #2 (permalink)  
Antiguo 09/12/2013, 12:38
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Hola princesa,
esos casos se resuelven de otra forma, pero vamos a lo tuyo:

en una pagina procesar.php (por ejemplo)
recibis los datos del form.

uno de ellos es $_REQUEST['combo1'] que contiene valores raros:
1,3
2,4
4,9789

Entonces solo tenes que partir la variable separandola por comas:

Código PHP:
Ver original
  1. <?php
  2. $combo1 = $_REQUEST['combo1'];
  3. $combo1 = explode(",", $combo1);
  4. $id = $combo1[0];
  5. $periodo = $combo1[1];
  6.  
  7. // con eso ya podes insertar los valores en donde quieras
  8. ?>
  #3 (permalink)  
Antiguo 09/12/2013, 12:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Cita:
Iniciado por Patriarka Ver Mensaje
Hola princesa,
esos casos se resuelven de otra forma, pero vamos a lo tuyo:

en una pagina procesar.php (por ejemplo)
recibis los datos del form.

uno de ellos es $_REQUEST['combo1'] que contiene valores raros:
1,3
2,4
4,9789

Entonces solo tenes que partir la variable separandola por comas:

Código PHP:
Ver original
  1. <?php
  2. $combo1 = $_REQUEST['combo1'];
  3. $combo1 = explode(",", $combo1);
  4. $id = $combo1[0];
  5. $periodo = $combo1[1];
  6.  
  7. // con eso ya podes insertar los valores en donde quieras
  8. ?>
GRACIAS amigo probe lo que me indicas y agregue un echo para ver los resultados.... pero no pasa ningún valor :/
  #4 (permalink)  
Antiguo 09/12/2013, 13:41
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

He probado poniendo valores definidos y si funciona
<?php

$combo1 = 'a,b,c';
$combo1 = explode(",", $combo1);
$id = $combo1[0];
$periodo = $combo1[1];
echo "Id:".$id;

?>




pero necesito tomar el valor del combo1 o en su defecto del input :s
  #5 (permalink)  
Antiguo 09/12/2013, 13:44
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

eso es por que el valor lo toma como un float en vez de como un string.
  #6 (permalink)  
Antiguo 09/12/2013, 13:55
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Prueba forzando su cambio de tipo a string antes de procesarlo con el explode
Código PHP:
Ver original
  1. <?php
  2. $combo1 = $_REQUEST['combo1'];
  3. $combo1 = (string)$combo1;
  4. $combo1 = explode(",", $combo1);
  5. $id = $combo1[0];
  6. $periodo = $combo1[1];
  7. ?>

Te aconsejo que no uses la variable $_REQUEST por que esta engloba las $_GET, $_POST y $_COOKIE y si tu php es inferior a la version 4.3.0 tambien contendra las $_FILES.

Por ese motivo es mejor usar las variables globales GET, POST o COOKIE para obtener sus valores.
  #7 (permalink)  
Antiguo 09/12/2013, 16:25
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Gracias por los datos... bien ya cambie lo q me indicaste tambien esto
$combo1 = $_POST['combo1'];
Pero nada no arroja nada
en mi form tengo esto <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" enctype="multipart/form-data"> asi q no creo q sea el problema .....
  #8 (permalink)  
Antiguo 09/12/2013, 16:39
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

escribe el codigo completo de la pagina
  #9 (permalink)  
Antiguo 09/12/2013, 16:42
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

la variable $editFormAction a donde apunta?
  #10 (permalink)  
Antiguo 09/12/2013, 16:42
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Cita:
Iniciado por Dalam Ver Mensaje
escribe el codigo completo de la pagina
Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post"  name="form1" id="form1" enctype="multipart/form-data">
  <table> 
   <br> 
    <tr valign="baseline"> 
     <td >
     <div align="left"></div> 
    </td> 
        <tr valign="baseline">
          <td height="30" align="right" valign="middle"><div align="left"><font size="2">Periodo Escolar:</font></div></td>
          <td height="30" valign="middle">
            <select name="combo1" id="combo1" style="width:191px" onClick="document.getElementById('periodoesc').value = this.options[this.selectedIndex].value"  >
              <option text="0">Seleccionar</option>
              <?php
$db = new MySQL();  
$db->open();
$consulta = $db->consulta("SELECT * FROM periodo_esc");
if ($row = $db->fetch_array($consulta)) {
	do {
		echo 
		'<option value="'.$row[id].','.$row[periodo].'">'.$row[periodo].'</option>';
	}while($row = $db->fetch_array($consulta));
}
?> 


              </select>
<input type="text" name="periodoesc" id="periodoesc" size="25" maxlength="25" value=""   /> 
    <?php

$combo1 = $_POST['combo1'];
$combo1 = (string)$combo1;
$combo1 = explode(",", $combo1);
$id = $combo1[0];
$periodo = $combo1[1];
echo "Id:".$id;

?>
           
        </td>
        </tr>
    <tr>
      <td><font size="2">Mes:</font></td>
      <td><select name="mes" >
        <option selected>-Elige un Mes-</option>
        <option value="Enero">Enero</option>
        <option value="Febrero">Febreo</option>
        <option value="Marzo">Marzo</option>
        <option value="Abril">Abril</option>
        <option value="Mayo">Mayo</option>
        <option value="Junio">Junio</option>
        <option value="Julio">Julio</option>
        <option value="Agosto">Agosto</option>
        <option value="Septiembre">Septiembre</option>
        <option value="Octubre">Octubre</option>
        <option value="Noviembre">Noviembre</option>
        <option value="Diciembre">Diciembre</option>
      </select></td>
    </tr>
    
    <tr valign="baseline">
      <td align="right" valign="middle"><div align="left"><font size="2">Precedente:</font></div></td>
      <td valign="middle">
        <select name="combo2" id="combo2" style="width:191px" >
        
  </select>  
        
        
        
        </td>
    </tr>
   
          
    
     <tr valign="baseline">
       <td align="right" valign="middle"><div align="left"><font size="2">Monto:</font></div></td>
       <td valign="middle"><input type="text" name="monto" size="25" maxlength="120" /></td>
       
     <tr valign="baseline">
      <td height="30" align="right" valign="middle"><div align="left"><font size="2">D&iacute;a Carga:</font></div></td>
        <td height="30" valign="middle"><input type="text" name="dia_carga" size="25" maxlength="25" /></td>
      </tr>
 
       <tr valign="baseline">
      <td height="30" align="right" valign="middle"><div align="left"><font size="2">D&iacute;a Vence:</font></div></td>
        <td height="30" valign="middle"><input type="text" name="dia_vence" size="25" maxlength="25" /></td>
      </tr>
      
        <tr valign="baseline">
      <td height="30" align="right" valign="middle"><div align="left"><font size="2">Recargo:</font></div></td>
        <td height="30" valign="middle"><input type="text" name="recargo" size="25" maxlength="25" /></td>
      </tr>    
    <tr valign="baseline">
      <td align="left" valign="middle"><input type="button" value="Cancelar" onClick="history.back()" />
        <input type="submit" value="Registrar" /></td>
      <td valign="middle">&nbsp;</td>
    </tr>
    </table>
    <input type="hidden" name="MM_insert" value="form1" />
</form> 
Aqui esta
  #11 (permalink)  
Antiguo 09/12/2013, 17:02
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

El $editFormAction que valor tiene?
  #12 (permalink)  
Antiguo 10/12/2013, 11:34
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Ya cheque cual es mi fallo jejejeje yo queria visualizar
<?php
$combo1 = $_POST['combo1'];
$combo1 = (string)$combo1;
$combo1 = explode(",", $combo1);
$id = $combo1[0];
$periodo = $combo1[1];
echo "Id:".$id;

?>

Sin hacer nada antes.... y como es lógico tengo que presionar el botón del formulario.... haciendo esto funciona.... pero ahora el detalle es como hago para q sin presionar el botón de envío .... arroje los resultados....
Gracias
  #13 (permalink)  
Antiguo 10/12/2013, 11:54
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Eso es tema de javascript, solo lo podras hacer con una llamada ajax
  #14 (permalink)  
Antiguo 10/12/2013, 12:04
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Gracias espero que alguien me haga el favor de mover el tema :)
  #15 (permalink)  
Antiguo 10/12/2013, 12:20
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Lo he solucionado utilizando javascript
var option_result = document.getElementById("combo").value;
var option_array=option_result.split("/");
document.getElementById('uno').value = option_array[0];
document.getElementById('dos').value = option_array[1];


Gracias por su tiempo
  #16 (permalink)  
Antiguo 10/12/2013, 12:21
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Insertar dos valores de un input... en dos campos diferentes

No es para moverlo, cierralo si se te a solucionado y abre uno nuevo en el foro de javascript diciendo como enviar un formulario mediante ajax.
Pero antes busca por internet y intenta hacerlo tu, por que de otro modo no aprenderas en la vida a programar.
  #17 (permalink)  
Antiguo 10/12/2013, 12:25
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Insertar dos valores de un input... en dos campos diferentes

Cita:
Iniciado por Dalam Ver Mensaje
No es para moverlo, cierralo si se te a solucionado y abre uno nuevo en el foro de javascript diciendo como enviar un formulario mediante ajax.
Pero antes busca por internet y intenta hacerlo tu, por que de otro modo no aprenderas en la vida a programar.
Gracias amigo ya lo solucione mediante javascript y ya marque el tema como solucionado

Etiquetas: campos, input, mysql, select
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 22:40.