Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/12/2006, 23:59
Avatar de El_Aprendiz
El_Aprendiz
 
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: Como Almacenar la fecha desde un TEXT

Gracias por seguir de cerca mi problema:
Para empezar hice todo lo que me aconsejastes en primer caso en la linea dodente esta (fecha) verdad que ahi va el nombre del campo donde se almacenara la fecha en mi caso se llama (fec_nac)
Código PHP:
$str_ins="INSERT INTO estudiante (fec_nac) values ($fecha)"; 
bueno el erro que me da es
Cita:
Error en consulta de inserción: Column count doesn't match value count at row 1
Tengo entendido que es por que no coinciden los numeros de valores en la tabla, pero no se como solucionarlos el timpo de campo al cual quiero almacenar es DATETIME (estoy usando mysql 4 y PHP5) luego lo cambia a solamente a DATE pero igual da el mismo error.
el codigo del formulario lo tengo asi:
Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
validar(e) 
    { 
        
tecla = (document.all) ? e.keyCode : e.which; 
        if (
tecla==8) return true;  
            
patron = /d/; 
            
te = String.fromCharCode(tecla); 
            return 
patron.test(te);  
    } 
   var 
aMeses = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")

   function 
padNmb(nStr, nLen, sChr){
    var 
sRes = String(nStr);
    for (var 
i = 0; i < nLen - String(nStr).length; i++)
     
sRes = sChr + sRes;
    return 
sRes;
   }

   function 
makeDateFormat(nDay, nMonth, nYear){
    var 
sRes;
    
sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");
    return 
sRes;
   }
   
   function 
addOpt(oCntrl, iPos, sTxt, sVal){
    var 
selOpcion = new Option(sTxt, sVal);
    
oCntrl.options.add(selOpcion, iPos);
   }

   function 
lastDayOfMonth(nMonth, nYear){
    var 
aMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if ((
nMonth == 2) && (nYear % 4 == 0))
     return 
29;
    else
     return 
aMonth[nMonth - 1];
   }

   function 
cambia(nCambiado){
    var 
nAno;
    var 
nMes;
    
with (document.frm){
     
nAno = parseInt(ano.options[ano.selectedIndex].value);
     switch (
nCambiado){
      case 
0:
       
llenaMes(mes, nAno);
       break;
      case 
1:
       
nMes = parseInt(mes.options[mes.selectedIndex].value);
       
llenaDia(dia, nAno, nMes)
       break;
      case 
2:
       
nMes = parseInt(mes.options[mes.selectedIndex].value);
       
nDia = parseInt(dia.options[dia.selectedIndex].value);
       
res.value = makeDateFormat(nDia, nMes + 1, nAno);
       break;
     }
    }
   }

   function 
llenaAno(oAno){
    var 
hoy = new Date();
    var 
ini = 1960;
    
addOpt(oAno, 0, "", "");
    for (var 
i = ini; i <= hoy.getYear(); i++)
     
addOpt(oAno, i - ini + 1, String(i), String(i));
   }

   function 
llenaMes(oMes, nAno){
    var 
hoy = new Date();
    var 
nFin = 11;
    while (
oMes.length > 0) oMes.remove(0);
    if (
nAno == hoy.getYear()) nFin = hoy.getMonth();
    
addOpt(oMes, 0, "", "");
    for (var 
i = 0; i <= nFin; i++)
     
addOpt(oMes, i + 1, aMeses[i], String(i));
   }

   function 
llenaDia(oDia, nAno, nMes){
    var 
hoy = new Date();
    var 
nFin = lastDayOfMonth(nMes + 1, nAno);
    while (
oDia.length > 0) oDia.remove(0);
    if (
nAno == hoy.getYear() && nMes == hoy.getMonth()) nFin = hoy.getDate();
    
addOpt(oDia, 0, "", "");
    for (var 
i = 1; i <= nFin; i++)
     
addOpt(oDia, i + 1, String(i), String(i));
   }

  
</script>
  <style type="text/css">
<!--
.Estilo5 {    font-size: 12px;
    font-weight: bold;
}
-->
  </style>
 </head>
 <body onload=" llenaAno(document.frm.ano)">
 <blockquote>
   <blockquote>
     <form name="frm" method="post" action="insertardatos.php">
       <p align="center"><strong>Ingrese un Estudiante</strong></p>
       <div align="center">
         <table width="791" border="0">
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Codigo: </span></div></td>
            <td colspan="2"><span class="Estilo5">ES731-</span>
            <input name="codigo" type="text" id="codigo6" size="8" maxlength="4" onKeyPress="return validar(event)"></td>
            <td>&nbsp;</td>
            <td width="15" rowspan="13" bgcolor="#FFFFFF"><a href="../../Documents%20and%20Settings/JELPC01/Mis%20documentos/Mis%20imágenes/2006-11%20(Nov)/Explorar0010.jpg"></a></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Primer Nombre:</span></div></td>
            <td colspan="3"><input name="nom1" type="TEXT" id="nom14" size="30" maxlength="30"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Segundo Nombre:</span></div></td>
            <td colspan="3"><input name="nom2" type="text" id="nom24" size="30" maxlength="30"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Primer Apellido:</span></div></td>
            <td colspan="3"><input name="ape1" type="text" id="ape14" size="30" maxlength="30"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Segundo Apellido:</span></div></td>
            <td colspan="3"><input name="ape2" type="text" id="ape24" size="30" maxlength="30"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Sexo:</span></div></td>
            <td colspan="3"><select name="sexo" id="select6">
              <option>Masculino</option>
              <option>Femenino</option>
                                                                        </select></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"></div></td>
            <td colspan="3">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td colspan="3" align="right"><div align="left"><span class="Estilo5">Nacimiento: </span></div></td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
           <td width="57" align="right"><div align="left" class="Estilo5">A&ntilde;o:</div></td>
           <td width="80"><select name="ano" onChange="cambia(0)" style="width: 80">
           </select></td>
           <td width="30"><div align="left" class="Estilo5">Mes: </div></td>
           <td width="92"><select name="mes" onChange="cambia(1)" style="width: 80">
           </select></td>
           <td width="27" class="Estilo5">D&iacute;a: </td>
           <td width="60"><select name="dia" onChange="cambia(2)" style="width: 60">
           </select></td>
           <td width="396">&nbsp;     </td>
          </tr>
          <tr>
           <td align="right" class="Estilo5"><div align="left">Fecha:
            </div></td>
           <td><input name="res" type="text" disabled size="10"></td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;
      </td>
          </tr>
          <tr>
           <td align="right">&nbsp;
            </td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;</td>
           <td>&nbsp;
           </td>
          </tr>
          <tr>
            <td colspan="2" align="right"><div align="left"><span class="Estilo5">Direcci&oacute;n:</span></div></td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
           <td colspan="6" align="right"><div align="left">
             <input name="direc" type="text" id="direc6" size="60" maxlength="90">
            </div></td>
           <td>&nbsp;
           </td>
          </tr>
         </table> 
       </div>
       
       <div align="center">
         <input name="SUBMIT" type="SUBMIT" value="Insertar">
         </div>
     </form>
     <div align="center">     </div>
   </blockquote>
 </blockquote>
 </body>
</html> 
y el scrip es el siguiente
Código PHP:
<?
//recibimos tus datos mandados del Formulario. 
//en tu caso la fecha 
$fecha=$_POST['res']; 

$sql_host="localhost";  // Host, nombre del servidor o IP del servidor Mysql. 
$sql_usuario="root";  // Usuario de Mysql 
$sql_pass="colgante";    // contraseña de Mysql 

$sql_db="estudiantes";  // Base de datos que se usará. 

# Connexión 
$p_hook = mysql_connect($sql_host,$sql_usuario,$sql_pass) or die ("Error de connexión: host/user/pass incorrecto"); 
$p_base = mysql_select_db($sql_db,$p_hook) or die ("Error de connexión: base de datos incorrecta"); 

//Sentencia insert para guardar la fecha en tu BD 
$str_ins="INSERT INTO estudiante (fec_nac) values ($fecha)"; 
//ejecutamos la consulta 
mysql_query($str_ins)or die("Error en consulta de inserción: ".mysql_error())  
?>
Claro que solo se muestra que intento almacenar la fecha en este codigo pero los otras datos se como almacenarlos por esa razon no estan en dicho codigo.
Gracias por su tiempo Atentamente El_Aprendiz
__________________
La verdadera grandeza no está en no caer, si no en levantarse cada vez que caemos.