Foros del Web » Programando para Internet » PHP »

Problema sentencia "Insert Into".

Estas en el tema de Problema sentencia "Insert Into". en el foro de PHP en Foros del Web. Mi problema es el siguiente: Tengo un formulario en php el cual al darle a enviar inserta los campos en la base de datos. El ...
  #1 (permalink)  
Antiguo 28/04/2010, 04:20
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Problema sentencia "Insert Into".

Mi problema es el siguiente:
Tengo un formulario en php el cual al darle a enviar inserta los campos en la base de datos.
El problema es que con el código actual sólo me inserta si el $_REQUEST es un campo de texto, si es una lista, menú o botón radio no me inserta nada.

Una parte del código html es ésta:

Código HTML:
<select name= "hijos">
              <option value="no"> </option>
              <option value="1">1 </option>
              <option value="2">2 </option>
              <option value="3">3 </option>
              <option value="4">4 </option>
              <option value="5">5 </option>
              <option value="6">6 </option>
              <option value="Mas">Más </option>
          </select></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td align="right">&middot;Edades de los hijos:</td>
          <td colspan="4"><select name= "hijo1">
            <option value="no"> </option>
            <option value="0a3">0-3 </option>
            <option value="4a6">4-6 </option>
            <option value="7a9">7-9 </option>
            </select>
            <select name= "hijo2" id="hijo2">
              <option value="no"> </option>
              <option value="0a3">0-3 </option>
              <option value="4a6">4-6 </option>
              <option value="7a9">7-9 </option>
            </select> 
Y el php:

Código PHP:
$pin1 1;      
$pin2 2;
$pin3 3;
$pin4 4;
$pin5 5;
$pin6 6;
$pin7 $_REQUEST[hijo1];
$pin8 $_REQUEST[hijo2];

if( 
$hijos == 1){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin1)"$conexion);    

if( 
$hijos == 2){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin2)"$conexion);    

if( 
$hijos == 3){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin3)"$conexion);    

if( 
$hijos == 4){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin4)"$conexion);    

if( 
$hijos == 5){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin5)"$conexion);    

if( 
$hijos == 6){
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ($b,$pin6)"$conexion);    

if( 
$hijos == 1){
mysql_query("insert into 2edades_de_los_hijos(Fecha,hijo1) values ($b,$pin7)"$conexion);    
}
if( 
$hijos == 2){
mysql_query("insert into 2edades_de_los_hijos(Fecha,hijo1,hijo2) values ($b,$pin7,$pin8)"$conexion);  

La primera parte del código, los que van del $pin1 al $pin6 me funciona correctamente pero al hacer el request es cuando deja de funcionar.

Espero que podáis ayudarme.

P.D: Omito la conexión a la DB, y el resto de código ya que ese no es el problema.
  #2 (permalink)  
Antiguo 28/04/2010, 04:26
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema sentencia "Insert Into".

Los campos de tablas que no sean numericos debes entrecomillarlos, de hecho, lei en alguna parte que es recomendable incluso entrecomillarlos todos, tal que asi:

Código PHP:
mysql_query("insert into 1numero_de_hijos(Fecha,Cantidad) values ('$b','$pin1')"$conexion); 
Prueba y nos dices
  #3 (permalink)  
Antiguo 28/04/2010, 04:51
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema sentencia "Insert Into".

Efectivamente era eso, muchisimas gracias ^^
Una duda más, utilizo el parámetro $b = time ();
pero me da una fecha en número unicamente, ¿hay alguna manera de hacer que salga en YYYY/MM/DD o DD/MM/YYYY ?
  #4 (permalink)  
Antiguo 28/04/2010, 04:55
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema sentencia "Insert Into".

Mira la función date
  #5 (permalink)  
Antiguo 28/04/2010, 05:08
 
Fecha de Ingreso: abril-2010
Ubicación: Alicante
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema sentencia "Insert Into".

No sé exacatamente si es lo que quieres pero... :

Código PHP:
Ver original
  1. $dia = date("d");
  2. $mes = date("m");
  3. $anyo = date("y");
  4.  
  5. echo "$dia/$mes/$anyo";

Esto te saca el formato que quieres...pero de todas formas mirate lo que te ha dicho Eleazan...Es batante sencillo a la par que útil...

Saludos!
  #6 (permalink)  
Antiguo 28/04/2010, 05:17
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema sentencia "Insert Into".

Muchas gracias a todos, ya me funciona todo bien.
  #7 (permalink)  
Antiguo 28/04/2010, 05:20
 
Fecha de Ingreso: abril-2010
Ubicación: Alicante
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema sentencia "Insert Into".

Que has utilizado finalmente?
Podría ayudarnos a todos en un futuro.

Etiquetas: sentencia
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 15:22.