<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
bueno leo, me quedo con la ultima opcion y ya esta funcionando...<br><br>en la query solo agrego max(A.fecha_sesion) AS ultima <br>ests fecha la dinamito y la dejo en formato numerico (ejemplo 20100812), lo mismo hago con la fecha de hoy, <br>y en el <td> donde tengo el boton registar asistencia pongo un if, si registro una asitencia el boton cambia a presente porque la fecha de la ultima sesion es igual ahoy,<br>muchas gracias, <br>saludos<br>sigo laburando<br><br><br>> From: leonardot@pegasusnet.com.ar<br>> To: php-avanzado@pato2.fi.mdp.edu.ar<br>> Date: Wed, 11 Aug 2010 18:36:15 -0300<br>> Subject: Re: [Php-avanzado] consulta query<br>> <br>> Hola Bruno,<br>> <br>>         la primer opción te excluye a los que todavía no vinieron nunca, porque<br>> para ellos A.fecha_sesion es NULL<br>>         Una solución es agregar como condición OR que A.fecha_sesion = NULL<br>>         Ojo! Vas a tener que encerrar las condiciones entre paréntesis para que<br>> signifiquen lo que estamos hablando; algo así como<br>> <br>> AND (A.fecha_sesion<'$fechahoy' OR A.fecha_sesion=NULL)<br>> <br>>         o más claramente todavía:<br>> <br>> AND ((A.fecha_sesion<'$fechahoy') OR (A.fecha_sesion=NULL))<br>> <br>>         En el caso del LEFT JOIN, también deberías agregar que pueden ser<br>> nulos...<br>> <br>>         Otra solución que pensé en la respuesta pasada pero no te dije, es que<br>> la interfaz muestre a todos los de hoy, pero si A.fecha_sesion ==<br>> '$fechahoy', aparezca un "presente" en lugar del botón de tomar<br>> asistencia.<br>>         Con esto mostrarías todos los del día, pero los que ya vinieron no se<br>> pueden volver a usar, a la vez que se ve el día completo siempre.<br>> <br>>         Saludos!<br>> <br>> El mié, 11-08-2010 a las 18:54 +0000, Bruno Meschini escribió:<br>> > bien hay algo que no funciona,,,, estoy trabajando dos opciones...<br>> > <br>> > la primera...<br>> > <br>> > SELECT R.*, D.*, P.id_paciente, P.nombre, P.apellido,<br>> > count(A.id_rehabilitacion)AS presentes, A.fecha_sesion<br>> > FROM (rehabilitaciones AS R,<br>> > dias_rehabilitaciones AS D, pacientes AS P)<br>> > LEFT JOIN asistencias AS A ON<br>> > R.id_rehabilitacion= A.id_rehabilitacion<br>> > WHERE R.id_rehabilitacion =<br>> > D.id_rehabilitacion<br>> > AND R.id_paciente =<br>> > P.id_paciente<br>> > AND D.id_dia=".$dia."<br>> > AND (R.horario >='$h1') AND<br>> > (R.horario <= '$h2')<br>> > AND (R.fecha_comienzo<br>> > <='$fechahoy')<br>> > <br>> > <br>> > AND<br>> > A.fecha_sesion<'$fechahoy'<br>> > <br>> > <br>> > GROUP BY A.id_rehabilitacion<br>> > ORDER BY horario<br>> > <br>> > <br>> > <br>> > Agregando este AND A.fecha_sesion<'$fechahoy' la consulta me excluye<br>> > los pacientes que aun no tienen registros en asistencia, <br>> > pero tienen que venir...<br>> > <br>> > <br>> > <br>> > la segunda entonces lo pongo en LEFT JOIN <br>> > <br>> > <br>> > SELECT R.*, D.*, P.id_paciente, P.nombre, P.apellido,<br>> > count(A.id_rehabilitacion)AS presentes,<br>> > A.fecha_sesion<br>> > FROM (rehabilitaciones AS R,<br>> > dias_rehabilitaciones AS D, pacientes AS P)<br>> > LEFT JOIN asistencias AS A ON<br>> > R.id_rehabilitacion= A.id_rehabilitacion AND<br>> > A.fecha_sesion<'$fechahoy'<br>> > WHERE R.id_rehabilitacion =<br>> > D.id_rehabilitacion<br>> > AND R.id_paciente =<br>> > P.id_paciente<br>> > AND D.id_dia=".$dia."<br>> > AND (R.horario >='$h1') AND<br>> > (R.horario <= '$h2')<br>> > AND (R.fecha_comienzo<br>> > <='$fechahoy')<br>> > GROUP BY A.id_rehabilitacion<br>> > ORDER BY horario<br>> > <br>> > <br>> > <br>> > <br>> > aqui solo me excluye la sesion cuya fecha coincide con el dia de hoy<br>> > pero me sigue listando el paciente <br>> > <br>> > <br>> > <br>> > <br>> > > From: leonardot@pegasusnet.com.ar<br>> > > To: php-avanzado@pato2.fi.mdp.edu.ar<br>> > > Date: Wed, 11 Aug 2010 15:01:55 -0300<br>> > > Subject: Re: [Php-avanzado] consulta query<br>> > > <br>> > > El mié, 11-08-2010 a las 16:46 +0000, Bruno Meschini escribió:<br>> > > > gracias leo, ahora lo agrego..<br>> > > <br>> > > Después contanos...<br>> > > <br>> > > > te escribi a tu mail hace unos dias,, parece que no lo viste,,,<br>> > ahora<br>> > > > te lo reenvio..<br>> > > <br>> > > Ok. Lo busco...<br>> > > <br>> > > > saludos,<br>> > > <br>> > > =mente!<br>> > > -- <br>> > > <br>> -- <br>> <br>> Leonardo Tadei<br>> leonardot@pegasusnet.com.ar<br>> http://blog.pegasusnet.com.ar<br>> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key<br>> <br>> _______________________________________________<br>> Php-avanzado mailing list<br>> Php-avanzado@pato2.fi.mdp.edu.ar<br>> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<br>                                            </body>
</html>