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> </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> </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> </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> </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> </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> </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> </td>
</tr>
<tr>
<td colspan="3" align="right"><div align="left"></div></td>
<td colspan="3"> </td>
<td> </td>
</tr>
<tr>
<td colspan="3" align="right"><div align="left"><span class="Estilo5">Nacimiento: </span></div></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="57" align="right"><div align="left" class="Estilo5">Añ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ía: </td>
<td width="60"><select name="dia" onChange="cambia(2)" style="width: 60">
</select></td>
<td width="396"> </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> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
</td>
</tr>
<tr>
<td align="right">
</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
</td>
</tr>
<tr>
<td colspan="2" align="right"><div align="left"><span class="Estilo5">Dirección:</span></div></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </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>
</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