| |||
Respuesta: sistema de Asistencias de un liceo buenas amigos tenfo un problema y es q necesito comparar el registro de entrada y saldida d cualquier personal con su horario para registrar a esa persona si es un retraso, asistente o inasistente... mis dos tablas son: tabla_asistencia id_marcaje /fecha / horaE /horaS aqui va su cedula / aqui la fecha del registro/ hora entrada /hora salida tabla_horario id_horario/Elunes/Slunes/Emartes/Smartes/Emiercoles/Smiercoles/Ejueves/Sjueves/Eviernes/Sviernes el problma es como comparar x medio d php su hora de entrada y salida con su horario q le corresponde cada dia de la semana necesito gran ayuda ya q no he podido solucionar |
| |||
![]() bueno en el id_horario(va la cedula de identidad) cada persona tiene un horario diferente con un registro de entrada y salida diferente |
| ||||
Respuesta: sistema de Asistencias de un liceo Bueno, yo preferiría hacerlo a través de la base de datos, MySQL si es que usas esa base, aunque con esa estructura de tabla que tiene la tabla horario posiblemente no sea tan facil y habría que cambiar la estructura de la tabla. En cualquier caso te podrías pasar por el foro de MySQL, cuentan que hay una serie de genios por allá que pueden obtener cualquier dato de una base de datos. Pero como dices que lo quieres hacer con PHP, yo empezaría por poder averiguar por cada maestro si llegó tarde o no y despues trabajar en analizar todos los maestros. En ese caso tendríamos una variables $id que tendría la id del maestro que queremos averiguar como llegó. Para simplificar la exposición supongamos que solamente queremos controlar los horarios de entrada. Primero hacemos las consultas a la base de datos, de los registros de ese maestro de asistencias y los horarios que les corresponde venir. Luego convertimos las fechas de los registros de asistencias que nos da MySQL que tipicamente tienen el formato 'YYYY-MM-DD' que PHP los reconoce como cadenas, strings, por lo que no nos permite operar con ellas, a integer, con la funcion strtotime(). Luego con getdate() obtengo una matriz con datos de esa fecha, esa matriz en la clave 'wday' contiene el número de dia de la semana, 0 para domingo y 6 para el sabado. Una vez que sabemos el dia de la semana que corresponde a esa fecha, nos vamos a la matriz $horarios que tiene los horarios que le corresponden a ese maestro, ya que esta matriz comienza con el 0 para domingo y el 6 para lunes (prestar atencion a la estructura de la consulta SQL). Finalmente un simple IF que si la hora de entrada es menor a la hora a la que se debió entrar se notifica con 'TARDE'.
Código PHP:
Ver original |
| |||
![]() amigo estuve probando tu codigo q me pasastes pero no me corre claro le conecta la base de datos y nada, hasta correg.. unas funciones mal escrita como mysqli y es mysql y aun asi nada hasta le puse <?php x el <? y nada |
| ||||
Respuesta: sistema de Asistencias de un liceo mysql es una extensión para bases de datos algo vieja ya, te recomiendo usar mysqli que las funciones tienen el mismo nombre, pero los argumentos NO SON los mismos, hay pequeños cambios en el orden en que se pasan los argumentos. Si vas a usar la extensión mysql modifica el código para que pases los argumentos correctos, si vas a usar mysqli solo deja el código como está, solo asegúrate de tener la extensión mysqli (viene por default en PHP >= 5.0. Si usas MySQL version >4.1.3 es altamente recomendable que uses la extensión mysqli. |
| |||
Respuesta: sistema de Asistencias de un liceo ayudame un poco mas en esto yo ya capte la idea d la logica d tu codigo pero no me da el codigo, cree las bases d datos , la conexion y nada.. pruebalo tu completo a ver si te da amigo |
| |||
Respuesta: sistema de Asistencias de un liceo jeje, Si las tablas no existen en tu base de datos lo más lógico es que no te funcione el script que te han hecho. Mejor intenta hacerlo tu mismo ![]()
__________________ Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +. Última edición por GatorV; 25/01/2012 a las 10:46 |
| ||||
Respuesta: sistema de Asistencias de un liceo @edwardrealmadrid88 sí, lo probé, lo estoy viendo en funcionamiento en ahora mismo sobre PHP 5.2. Ten en cuenta lo que te dice @iovan, los nombres de las tablas de MySQL y la estructura de la tabla deben ser las mismas. En otro caso, modifica las consultas SELECT, donde dice FROM coloca el nombre de la tabla que corresponda y lo mismo para los nombres de campo. Además supongo que las fechas en la tabla asistencia es un campo MySQL de tipo DATE (típicamente con formato "YYYY-MM-DD", y las horas de tipo TIME tipicamente con formato "HH:MM:SS". Y si quieres que te ayudemos, DEBERÍAS como mínimo pasar bien el error que dice tirarte... |
| |||
![]() amigo estuve viendo el codigo y acomodandolo y asi lo acomode yo estoy es trabajando con: MySQL Servidor: localhost via TCP/IP Versión del servidor: 5.1.30-community Versión del protocolo: 10 Usuario: root@localhost Juegos de caracteres de MySQL: UTF-8 Unicode (utf8) Servidor web Apache/2.2.21 (Win32) DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0e mod_autoindex_color PHP/5.2.8 Versión del cliente: 5.1.30 extensión PHP: mysql phpMyAdmin Acerca de esta versión: 3.1.1 la tabla de la base de datos es la siguiente:
Código MySQL:
Ver original y el la asistencia.php es la siguiente
Código PHP:
Ver original solo me muestra la tabla sin los valores aun estoy intentando pero nada de nada... alguna mano??? creo q es una tonteria lo q me hace falta |
| ||||
Respuesta: sistema de Asistencias de un liceo Vamos por partes. Añade un print_r antes del while y dentro del while para que te quede así:
Código PHP:
Ver original Y comenta que es lo que te imprime en pantalla. |
| |||
Respuesta: sistema de Asistencias de un liceo esto es antes delk WHILE Array ( [0] => 07:00:00 [1] => 08:00:00 [2] => 09:00:00 [3] => 10:00:00 [4] => 13:00:00 [5] => 15:00:00 [6] => 16:00:00 ) y esto es despues del WHILE Array ( [0] => 2012-01-22 [fecha] => 2012-01-22 [1] => 07:00:00 [he] => 07:00:00 [2] => 12:00:00 [hs] => 12:00:00 ) |
| ||||
Respuesta: sistema de Asistencias de un liceo ¡Claro que es una tonteria! Y no lo notamos antes. ¡Olvidaste los echo!.
Código PHP:
Ver original ¿donde ves un " echo $mensaje "?. Eso pasa por mezclar HTML y PHP. Si quieres mezclar HTML y PHP, por lo menos programa todo en PHP y evita estar abriendo <?php y cerrando con ?> pues es muy ineficiente del lado del servidor. Escribe todo en PHP y las salidas que quieras dar con HTML las das con echo "<html>". |
| |||
Respuesta: sistema de Asistencias de un liceo jajajajajajjajaj el bendito echo jajajaajajaj y si tienes razon lo de no mezclar ... ya me imprimio la tabla ahora en base a ese codigo q m funciona tengo q implantarlo en otro codigo q tngo q me registra la asistencia de entrada y salida y luego con este mismo codigo emplearlo para los horarios de salidas ya q este me validad si la entrada es bien o tarde de acuerdo a su horario |
| |||
![]() buenas tengo una duda sera que esto se puede hacer? o hay alguna forma de hacerlo ? es q no me da
Código PHP:
Ver original |
Etiquetas: |