Comunidad de diseño web y desarrollo en internet online

Conteo registros de una tabla

Citar            
MensajeEscrito el 27 Ene 2012 12:20 am
Ahora me toca a mi preguntar.
Tengo un script que me trae vueltas, espero y puedan hecharme la mano.

El script hace consulta a la base de datos

Código PHP :

 $consulta="SELECT DISTINCT id_sistema FROM `tickets` WHERE id_region=1 ORDER BY id_sistema DESC";


pero ahora lo que necesito que de la tabla TICKETS me haga un conteo de los registros de cada id_sistema obviamente asociados a el.
EJEMPLO
1= true 0= false
tabla -tickets

Código :

== id_region == id_sistema == activoSI ==  activoNO ==
    1              2             1             0
    1              2             0             1
    1              2             1             0
    1              2             1             0



Deberia de estar impreso asi:

Código :

id_region == id_sistema == Total SI == Total NO ==
1                2             3          1

Por dsalcedo

50 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 27 Ene 2012 11:47 am
Supongamos que la tabla se llama conteo, cada vez que insertes, borres o cambies algo a la tabla tickets tendrás que hacer una consulta para la tabla conteo.
Cuando insertes: "UPDATE `conteo` SET `Total_OPCION_ELEGIDA`=`Total_OPCION_ELEGIDA`+1".

Cuando cambies: "UPDATE `conteo` SET `Total_OPCION_CAMBIADA`=`Total_OPCION_CAMBIADA`-1, `Total_OPCION_AHORA_ELEGIDA`=`Total_OPCION_AHORA_ELEGIDA`+1"

Cuando borres (eso no sé muy bien en que caso será): "UPDATE `foro`.`mybb_forums` SET `Total_OPCION_QUE_TENIA`=`Total_OPCION_QUE_TENIA`-1";

Creo que con eso ya está, lo que también te faltaría es para cuando crees la tabla "conteo" ya tenga todo contado y no tengas que reiniciar todo, con php sería algo así:

Código PHP :

<?php

// tiempo que no usaba mysql_query d:
$consulta = mysql_query("SELECT COUNT(`activoSI`) AS `activosi`, COUNT(`activoNO`) AS `activono` FROM `tickets` LIMIT 1");
$resultado = mysql_fetch_object($consulta);
mysql_query("UPDATE `conteo` SET `TotalSI`=".$resultado->activosi.", `TotalNO`=".$resultado->activono);

?>

Por Night~

43 de clabLevel



Genero:Masculino  

Geek, Gamer, Otaku

chrome
Citar            
MensajeEscrito el 03 Feb 2012 06:09 pm
Ya lo solucione !!!

De verdad fue estupidamente sencillo hacerlo, tenia la idea pero no sabia como imprimirlo, no hay duda que para esto nunca, nunca, nunca debemos de olvidar la LOGICA y sobre todo tenr creatividad.

Solucion:

Código PHP :

<?php 
require("config/conexion.php");
require("include/array_sistemas.php");

$link = mysql_connect('localhost', 'root', ''); mysql_select_db('tabla', $link); 
   $query =mysql_query("SELECT DISTINCT id_sistema FROM tickets WHERE id_region =1 ORDER BY id_sistema DESC ");
    $conteo=  mysql_num_rows($query);
   while ($noc = mysql_fetch_assoc ($query)) {   
?>   


Depues ejecuto el HTML con php

y al imprimir el resultado para que me salga los registros deacuerdo a los sistemas impresos solo añado


Código PHP :

<?php if ($noc['id_sistema'] == $noc['id_sistema']) {
$ciudad= $noc['id_sistema'];
$qry_ciudad_red1 = "SELECT * FROM tickets  WHERE id_sistema =$ciudad AND `id_severidad` =(1) AND `id_status` NOT IN (4) AND `id_region`=(1) AND `id_elemento_falla` NOT IN (16,17,18) AND id_sistema NOT IN (29)";                      
$resultado_red_1 = mysql_query($qry_ciudad_red1);
      $total_red_1 = mysql_num_rows($resultado_red_1);
                  if ($total_red_1 <= 0) 
                        { 
                        echo "<div class='falla1nada'>0</div>"; 
                     } else { 
                        echo "<div class='falla1' title='". $total_red_1 ." en Severidad 1'>". $total_red_1 ."</div>"; 
                        } 
                  echo "<div class='falla1nada'>0</div>";}
                     ?>


<?php } ?>



Listo !!!
esto hace que mi resultado quede impreso asi:
LugarA--4--1--0--0
LugarB--0--0--0--0
LugarC--1--0--2--0
LugarD--0--0--0--0
total- ---5--1--2--0

Por dsalcedo

50 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.