Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2010, 13:52
cesar1514
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Registro de entrada para empleados

Hola que tal amigos, necesito su ayuda por favor pues la verdad no estoy metido de lleno en PHP y MYSQL, la cuestión es que estoy tratando de hacer un pequeño sistema para el registro de asistencia de empleados.
Los datos que requiero insertar en mis tablas son las horas de entrada, salida a comer, entrada de comer y salida; tengo una base de datos llamada “empleados”, en ella dos tablas: “usuarios” y “asistencia”;

CREATE TABLE usuarios (
id int(11) NOT NULL AUTO_INCREMENT,
password varchar(10) NOT NULL,
nombre varchar(60) NOT NULL,
administrador tinyint(4) unsigned NOT NULL,
tareas varchar(130) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

CREATE TABLE asistencia (
usuarios_id int(11) NOT NULL,
entrada datetime DEFAULT NULL,
salida datetime DEFAULT NULL,
salidaComer datetime DEFAULT NULL,
entradaComer datetime DEFAULT NULL,
KEY usuarios_id (usuarios_id),
CONSTRAINT asistencia_ibfk_1 FOREIGN KEY (usuarios_id) REFERENCES usuarios (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1

Y tengo dos archivos “formulario.html” e “insertar.php”

La cuestión es que solo puedo insertar los datos de entrada y no de salida a comer ni entrada de comer ni la salida, teniendo la línea del archivo insertar.php de esta forma con los null, $sql= "INSERT INTO asistencia values ($idUsuario, '$entrada', null, null, null)"; pero si los cambio por las variables $sql= "INSERT INTO asistencia values ($idUsuario, '$entrada', '$salidaComer', '$entradaComer', '$salida')"; no me guarda nada.

Estos son los archivos:

Formulario.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="www.losportables.com.ar">

<title>Registro de Asistencia</title>
</head>

<body>

<p align="center"><img src="css/imagen/encabezado.GIF" width="100%" height="80" longdesc="css/imagen/encabezado.GIF" /></p>
<form id="form1" name="form1" method="post" action="insertar.php">
<div align="center">

<table width="555" border="1">
<tr>
<td bgcolor="#FFFFFF"><div align="center" class="insertar.php">

<?php
$fecha=date("Y")."/".date("m")."/".date("j");
$horas=date("h:i:s");
echo "$fecha","$horas";
?>

</tr>

<td width="395" bgcolor="#C9D6F5"><div align="center" class="style1">DIGITE SU CODIGO DE EMPLEADO AQUI </div></td>
<td width="144"><div align="center">
<input type="password" name="nick" />
</div></td>

</table>


<p>
<input type="submit" name="entrada" value="Entrada" />
<input type="submit" name="salidacomer" value="Salida a Comer" />
<input type="submit" name="entradaComer" value="Regreso de Comer" />
<input type="submit" name="salida" value="Salida" />
</p>

</div>
</form>

<br>
<br>
<br>
<br>
<br>
<br>

<?php

if

?>

<!--- codigo creatupropiaweb.com--->

<table border="0" id="t1">
<tr>
<td>
<p align="center">
<a href="">
<param name=wmode value=transparent>
<embed style="" src="http://www.creatupropiaweb.com/Recursos_Flash/reloj3.swf" wmode="transparent" type="application/x-shockwave-flash" height="10%" width="530%">
<param name=wmode value=transparent>
</embed>
</a>
</p>
</td>
</tr>
</table>

<!--- codigo creatupropiaweb.com--->
</body>
</html>


Insertar.php

<?php

foreach ($_POST as $n=>$v)
echo "<br>$n=$v";

include("index.php");
$nick=$_POST["nick"];

if(isset($_POST["entrada"]))
$entrada=date("Y-m-d")." ".date("H:i:s");

$salidaComer=$_POST["salidaComer"];
$entradaComer=$_POST["entradaComer"];
$salida=$_POST["salida"];
ponerAsistencia($nick,$entrada,$salidaComer,$entra daComer,$salida);
function ponerAsistencia($nick,$entrada,$salidaComer,$entra daComer,$salida)
{
$index=conexion();
$sq1= "select id from usuarios where nick='$nick'";

$result=mysql_query($sq1);
if($result!=false){

if(mysql_numrows($result)>0){
$row=mysql_fetch_array($result);
$idUsuario=$row['id'];
$sql= "INSERT INTO asistencia values ($idUsuario,'$entrada',null,null,null)";
$result=mysql_query($sql);
if($result==false)
echo "<br>hubo un error al hacer la inserción de asistencia";
else
echo "<br>Datos Guardados";
cerrarconexion($index);
}
else
echo "<br>no se encuentra el nick";
}
else{
echo "<br>hubo un error al hacer la consulta den nick::".mysql_error();

}

}

function conexion ()
{
$dbConex = mysql_connect("localhost","root","sistemare");
if (! $dbConex)
{
echo "Imposible Conectar";
exit;
}
if(!mysql_select_db("empleados", $dbConex))
echo "Imposible Conectar con la base";


return $dbConex;
}

function cerrarconexion ($dbConex) {
mysql_close($dbConex);
}
?>