Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - RedZer

#691
PHP / Donde esta mi error =(
9 Diciembre 2010, 05:33 AM
miren resulta que quiero agrupar y contar 2 campos que tengan el mismo resultado en este caso mi campo se llama diags_clave ok pero antes de eso yo busco en mi tabla jqcalendar una fecha de inicio y una fecha final que aya digitado el usuario si se encuentra ambas fechas dentro de mi tabla jqcalendar genero otra consulta para contar mi campo diags_clave el problema es que me los cuenta pero no me los agrupa por ejemplo el campo diags_clave tiene 2 valores iguales los cuales son A000 se su pone que me me los deberia de agrupar los que tengan a A000 y mostrar solo un resultado de ellos, pero no me muestra eso su pongamos que en mi tabla tengo agregado 2 A000 pues me muestra los 2 en ves de agruparme los 2 resultados en uno solo yo quiero que haga lo si guiene
A000=2
poero me ase esto
A00=1
A00=1
mi codigo es el siguiente

Código (php) [Seleccionar]

conectar();
$jcalendar=mysql_query("select * FROM jqcalendar  WHERE StartTime   BETWEEN '$ini' AND '$fin' AND asistencia='1' GROUP BY Subject ");
desconectar();

if (mysql_num_rows($jcalendar)>0)
{
while ($rowj=mysql_fetch_array($jcalendar))
{

//separo la ficha que se extrae de la tabla jcalendar
   $ficha=$rowj[1];
   $partes=explode('-',$ficha);
   $aa=$partes[0];
   $bb=$partes[1];


conectar();
$reporte=mysql_query("select  diags_clave, count(diags_clave)as cuenta  FROM reporte  WHERE ficha='$aa'  and codigo='$bb'  GROUP BY diags_clave ");
desconectar();

while ($row=mysql_fetch_array($reporte))
{


echo $row['cuenta']."<br>";
}

}//cierro el segundo while
               

}//cierro el if 



llevo dias desarrollando este sistema quiza sea un error minimo pero ya estoy estresado me podrian decir que estoy asiendo mal porfavor
#692
por ejemplo si ago lo que tu dices osea esto
$sDate = "2010-12-08";
$sNewDate = "2010-12-08"."00:00:00"

ok concateno la fecha con la hora que seria todo en cero el problema vendria cuando yo condiciono con where no cres por que yo ago la busqueda entre rangos entonces la consulta que estoy utilizando es esta
Código (php) [Seleccionar]

conectar();
$reporte=mysql_query("select * FROM reporte  WHERE DATE_FORMAT(fecha,'%Y-%m-%d') BETWEEN '$ini' AND '$fin' and asistio='1' ");
desconectar();

entonces me IMAGINO quiza toy mal que cuando haga una consulta por ejemplo un rango fecha de inicio "2010-12-08"."00:00:00" y fecha final "2010-12-10"."00:00:00" no me arojara nada ya que en la tabla no hay ni un campo que tenga este tipo de hora oswa ceros "00:00:00" cierto??? o estoy mal
#693
hola de nuevo camaradas tengo una duda  quiero hacer una consulta dependiendo de la fecha que se digite  pero el campo esta con propiedad datetime es obio que si se digita una fecha comun por ejemplo 2010-12-08 jamas me arojara resultado por que en mi tabla esta asi 2010-12-01 08:30:00 por que el campo tiene date time bueno ustedes me diran cambia el tipo de campo a date y evitate dolores de cabeza :rolleyes: el problema es que esa tabla donde se encuentra el campo de tipo date time lo ocupa una agenda prediseñada y si le muevo a date no me guardaria la hora etc etc. entonces mi pregunta es como puedo hacer una consulta a esa tabla omitiendo la hora y sus minutos y que nada mas me quede la pura fecha
#694
PHP / buscar fecha por rango
5 Diciembre 2010, 20:50 PM
hola amigos tengo la siguiente duda necesito buscar en una tabla por rango de fechas, tengo dividida la fecha en 3 campos: dia(INT)2 - mes(INT)2 y año(INT)4, en el formulario tengo 2 cajas de texto 1 para la fecha 1 y otra para la fecha 2 los cuales tienen su propio calendario al momento de enviar los datos asia otra pagina que se llama consulta.php yo descompongo la fecha uno y fecha dos osea los divido en dias,mes y años de la siguiente forma:

Código (php) [Seleccionar]


$fecha=$_POST['fecha'];
$fecha2=$_POST['fecha2'];
//separo la fecha para realizar consulta
list($mes,$dia,$ano) = explode("/",$fecha);
list($mes2,$dia2,$ano2) = explode("/",$fecha2);

//elimino ceros ala izquierda del dia 1
$cadena=$dia;
$cadena=(string)(int)$cadena;

//elimino ceros ala izquierda del dia 2
$cadena3=$dia2;
$cadena3=(string)(int)$cadena3;
//fin de ceros

elimino ceros ala quierda del dia por que en mi tabla tengo el dia lo tengo con los numeros enteros ok ahora quiza ustedes me digan que no es optimo lo que estoy asiendo el separar la fecha en tres partes lo que pasa es que yo manejo una agenda que esta echo con php(poo),jquery,ajax lo baje ya prediseñada y pues esta programada orientada a objetos y yo en eso aun no le entiendo al todo y se me iso mas facil separar las fechas para asi hacer mis respectivas operaciones una de eyas es esto lo que quiero hacer una consulta ejemplo
quiero mostrar los registros que se ayan dado de alta del dia
13/12/2010 al 2/02/2011
esta consulta me muestra los registros que se encuentren en el rango de estas dos fechas yo lo estaba asiendo asi de la siguiente forma mi consulta era esta

Código (php) [Seleccionar]


conectar();
$reporte=mysql_query("select * FROM reporte  where dia>=$cadena and dia<=$cadena3 ");
desconectar();

con eso yo asia el reporte por dia, pero como pueden ver en el eje,mplo que les plantie entrarian tambien los años y los meses como le podria hacer??
#695
muchas gracias resolvi el problema que tenia quedo de la siguiente forma

$reporte=mysql_query("SELECT diags_clave, count(diags_clave) as n_clientes FROM reporte where asistio='1' GROUP BY diags_clave ");



practicamente era agruparala con la instruccion GROUP BY   ;)
#696
y como le podria hacer
:huh:
#697
Cita de: seele en  4 Diciembre 2010, 20:56 PM
lo mas automatico que se me ocurre es poner todos los servicios en un array e ir recorriendo y haciendo cada consulta con un foreach.
sino deberias ya de agregar un campo a tu tabla o una tabla nueva con la cantidad de pacientes por servicio e ir sumandole uno cada vez que registras un paciente, son las opciones que se me ocurren
la primera opcion como seria??? :silbar:
la segunda opcion de ponerle un campo a mi tabla e irle sumando con eso solo obtendria un total general??? de pacientes registrados y yo lo que quiero es un total pero por servicio
#698
Cita de: seele en  4 Diciembre 2010, 20:48 PM
pero con el count puedes usar la clausula where para contar solo los registros que necesitas

o estoy entendiendo mal la idea de lo que quieres hacer¿?
creo que me estas entendiendo mal amigo por que creo que seria lo mismo si condiciono campo por campo quedaria igual que el if ponle tu que quede asi
$reporte=mysql_query("select count(id_servicio) FROM reporte   where servicio='genetica' or servicio='traumatologia' etc etc etc ");
aqui tendria que ir validando uno por uno
#699
ok mira lo que deceo hacer es los siguiente:
tengo una tabla llamada citas la cual almacena todas las citas que el doctor registre tiene los siguientes campos(estructura):
folio
id_servicio
fecha
ok hay demas campos como son nombre,apellidos,rfc ect etc pero solo puse los que por el momento me interesa  yo ago reportes por mes en el cual por ejemplo si ago una consulta del mes siguiente:03/12/2010 como resultado me arojara todos los registros que se ayan dado de alta en el mes de de diciembre los campos amostrar los jalo de la tabla cita ok  ahora como pueden ver tengo un campo en la tabla citas que es una llave primaria el cual es id_servicio ok cada que el doctor llene el formulario de citas el doctor  selecciona el servicio al que ira el cliente , ya sea servicio de genetica, traumatologia etc los servicioos los muestro atra ves de un list/menu del cual los jalo de la tabla servicio  y ya en la tabla citas solo se agregara el id del servicio que se aya seleccionado, dicha tabla servicio tiene la siguiente estructura
id_servicio
nombre_servicio
solo tiene esos dos campos la tabla servicio pero son como 300 servicios que estan dados de alta en esa tabla servicio ok ahora cuando el doctor se va a la opcion de reporte (por mes) le aparecen todos los pacientes que el doctor aya registrado  en el mes que el aya decidido consultar ok el problema surge por que el quiere que ahi mismo en el reporte mensual  muestre cuantas personas dio de alta con el mismo servicio  ejemplo
genetica=2 personas
traumatologia=3 personas
si me explico?
yo lo que hacia era ir validando servicio por servicio pero imaginence son como 300 servicios e ir validando uno por uno  :rolleyes:
#700
pues si pero ahi me contaria el servicio en general con count y yo quiero especificar sabes que hay 10 de genetica ok y 10 de traumatologia, pero yo tengo otra tabla especial para servicio y ahi es donde tengo aproximadamente 300 servicios