elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 13:09  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Como Agrupar una variable en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como Agrupar una variable en php  (Leído 2,087 veces)
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Como Agrupar una variable en php
« en: 10 Diciembre 2010, 20:15 »

hola foreros llevo ya 2 dias con esto pense que lo habia resolvido pero no es asi pasa lo siguiente tengo dos tablas la primer tabla se llama jqcalendar tiene la siguiente estructura:
Código
 
     Subject       StartTime
 
     ---------        ----------------
 
     148100-0     2010-12-01
 
     298852-0     2010-12-13
 
     298852-0     2010-12-23
 
     366005-12   2010-12-22
 
     366005-12   2010-12-29
 
bueno como ven son dos campos que tiene esa tabla el primer campo que es Subject almacena la ficha del usuario el segundo campo que es StartTime almacena la fecha a la que asistira el usuario como pueden ver se repite varias veces la ficha y yo no quiero eso asi que use group by para areglar ese problema , bueno la otra tabla es esta se llama reporte tiene la siguiente estructura
Código
 
     ficha          codigo        oms
 
     ------        --------        ---------
 
     148100        0              A00
 
     298852        0              A00
 
     366005        12            C00
 
 


esta tabla reporte tiene 3 campos la primera es ficha la segunda codigo , en estos dos campos are una aclaracion ya que la ficha del paciente va acompañada de su respectivo codigo ejemplo 366005-12 despues del guion es el codigo en este caso el codigo es 12 bueno como pueden ver en esta tabla reporte los inserto por separado y en la tabla jqcalendar lo inserto junto osea la ficha y el codigo . por que? bueno por que la tabla jqcalendar es de una agenda ya prediseñada y si le agregaba 2 campos mas osea ficha y codigo me marcaria error la agenda asi que solo ocupe el campo subject que ya estaba creado en esa tabla para almacenar la ficha . bueno tengo el siguiente codigo

Código
 
$ini="2010-12-01 00:00:00";
$fin="2010-12-31 23:59:59";
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))
 
{
  //sepasro la ficha del codigo que extraigo de la tabla jcalendar
  $ficha=$rowj[1];
  $partes=explode('-',$ficha);
  $aa=$partes[0];
  $bb=$partes[1];
 
 
 
 
conectar();
$queEmp2 = mysql_query("
SELECT oms FROM reporte where ficha='$aa' and codigo='$bb' GROUP BY oms  "
);
$rowEmp2 = mysql_fetch_assoc($queEmp2);
echo  $cat=$rowEmp2['oms']."<br>";
desconectar();
 
 
}
 
 
}//cierro el if  
 

bueno como los reportes son por rango de fecha por eso primero ago una consulta a la tabla jcalendar para buscar el rango de fecha que introduzca el usuario de ahi si existen esas fechas introducidas yo lo que quiero es contar cuantos oms se repiten de la tabla reporte para eyo valido que la ficha y el codigo que se extrae de la tabla jcalendar sea igual ala que esta en la tabla reporte pero no me sale me aroja esto
A00
A00
9999
siendo que me deberia de arojar esto
A00
9990

creo que no me esta agrupando las oms al momento de hacer GROUP BY oms ya intete hacer esta consulta tambien

Código
conectar();
$queEmp2 = mysql_query("
SELECT count(oms) as num FROM reporte where ficha='$aa' and codigo='$bb' GROUP BY oms  "
);
$rowEmp2 = mysql_fetch_assoc($queEmp2);
echo  $cat=$rowEmp2['num']."<br>";
desconectar();  
 

pero en esta me aroja 3 unos asi:
1
1
1
porfavor me podrian ayudar llevo ya mas de un dia con esto


En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #1 en: 11 Diciembre 2010, 00:21 »

Antes que nada... Printea la query y ejecútala en el MySQL.


En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #2 en: 11 Diciembre 2010, 00:59 »

amigooo sell como siempre apoyandome yevo dias con este error mira ya imprimi las query y me aroja esto
A00
A00
9999
si me entendiste lo que deceo hacer
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #3 en: 11 Diciembre 2010, 01:03 »

Pero las querys, eso son los resultados, YO QUIERO SON LAS QUERYS!
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #4 en: 11 Diciembre 2010, 01:25 »

mira sinceramente no te entiendo yo imprimi la primera consulta asi no se si te referias a esto
Código
echo $jcalendar=mysql_query("select * FROM jqcalendar  WHERE StartTime   BETWEEN '$ini' AND '$fin' AND asistencia='1' GROUP BY Subject "); 
 
 
yel resultado que me aroja de esa es
Resource id #4
en la seguhnda consulta lo imprimi asi
Código
echo $queEmp2 = mysql_query("
SELECT distinct diags_clave FROM reporte where ficha='$aa' and codigo='$bb' GROUP BY diags_clave  "
);
 
y el resultado que me vota es esto
Resource id #6Resource id #8Resource id #10
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #5 en: 11 Diciembre 2010, 01:37 »

ahhahahaa quiero que hagas esto,
Código
print "SELECT count(oms) as num FROM reporte where ficha='$aa' and codigo='$bb' GROUP BY oms";

Para ver los valores de las variables. Además de mostradme el valor que salio del MySQL.
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #6 en: 11 Diciembre 2010, 01:49 »

jajaja okas amigo mira ise el de la consulta que esta dentro del while
Código
print "SELECT count(oms) as num FROM reporte where ficha='$aa' and codigo='$bb' GROUP BY oms";
 
y el resultadop fue esto
Código
SELECT count(oms) as num FROM reporte where ficha='148100' and codigo='0' GROUP BY oms SELECT count(oms) as num FROM reporte where ficha='298852' and codigo='0' GROUP BY oms SELECT count(oms) as num FROM reporte where ficha='366005' and codigo='12' GROUP BY oms
 
y lo que me voto msql con esta consulta
Código
SELECT count(oms) AS num
FROM reporte
WHERE ficha = '148100'
AND codigo = '0'
GROUP BY oms
LIMIT 0 , 30
 
resultado
Código
num  
----
1
 
 
 
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #7 en: 11 Diciembre 2010, 02:01 »

Bueno, y mi pregunta ahora, es: Como quieres que agrupe, si usa diferentes consultas?

PD: Ya hasta me confundí, hahahahaa
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #8 en: 11 Diciembre 2010, 02:05 »

jaja si brother yo dede ayer estoy con esto :rolleyes: mira es cierto haga diferentes consultas pero fijate al prinicpio cuando explique lo que deceo hacer la primera consulta la ocupo para buscar el rango de fechas osea la de inicio y la final ok , y la segunda consulta lo ocupo para contar el campo oms que se encuentra en la tabla reporte pero siempre y cuando la ficha y el codigo sea igual al que esta en la tabla jcalendar
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #9 en: 11 Diciembre 2010, 02:08 »

Pero si son 3 Querys diferentes como quieres que las agrupe. XD
Código
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='148100' AND codigo='0' GROUP BY oms;
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='298852' AND codigo='0' GROUP BY oms;
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='366005' AND codigo='12' GROUP BY oms
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #10 en: 11 Diciembre 2010, 02:13 »

aja bro pero mira en la tabla reporte  el oms A00 se repite dos veces

Código
 
    ficha          codigo        oms
 
     ------        --------        ---------
 
     148100        0              A00
 
     298852        0              A00
 
     366005        12            C00
 

y yo lo que quiero es que aparezca asi
A00=2
C00=1

o dime como hacerle bro para hacer lo que deceo si me entiendes lo que deceo hacer?
« Última modificación: 11 Diciembre 2010, 02:16 por elvil » En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #11 en: 11 Diciembre 2010, 18:39 »

Estáis un poco confundido, mira...

Si ejecutas la siguiente query, sólo te debe de salir 1 registro,
Código
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='148100' AND codigo='0' GROUP BY oms;

Lo mismo sucede si ejecutas,
Código
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='298852' AND codigo='0' GROUP BY oms;

y también en,
Código
SELECT COUNT(oms) AS num FROM reporte WHERE ficha='366005' AND codigo='12' GROUP BY oms;

De ahí es donde sale los tres 1's. Ahora si haces lo siguiente de seguro te salen 2 registros, porque cumplen con la condición,
Código
SELECT COUNT(oms) AS num FROM reporte WHERE codigo='0' GROUP BY oms;

Ejecútalo y dime que es verdad.
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #12 en: 11 Diciembre 2010, 19:40 »

cierto amigo me aroja esto
2
2
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Como Agrupar una variable en php
« Respuesta #13 en: 11 Diciembre 2010, 19:55 »

Bueno y supongo que sabes a que se debe ese resultado, verdad?
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: Como Agrupar una variable en php
« Respuesta #14 en: 11 Diciembre 2010, 20:06 »

si por que hay dos fichas que su codigo es cero y en la consulta estoy condicionando que me cuente las oms donde el codigo sea igual a cero
SELECT COUNT(oms) AS num FROM reporte WHERE codigo='0' GROUP BY oms;
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines