Foros del Web » Programando para Internet » PHP »

Impresion de count

Estas en el tema de Impresion de count en el foro de PHP en Foros del Web. Hola quiero imprimir un resultado de un count con: Código PHP: $consulta  =  "SELECT area, clase,categoria, count(*)claxar    from estab    where conre = 10   GROUP by area,clase,categoria" ;  y me lo presente area1 clase1 valor ...
  #1 (permalink)  
Antiguo 27/08/2019, 06:58
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 4 meses
Puntos: 7
Impresion de count

Hola quiero imprimir un resultado de un count con:
Código PHP:
$consulta "SELECT area, clase,categoria, count(*)claxar 
  from estab 
  where conre = 10
  GROUP by area,clase,categoria"

y me lo presente
area1 clase1 valor
area1 clase2 valor
area1 clase3 valor
area1 clase4 valor

y lo que necesito es que salga
area1 clase1 valor
clase2 valor
clase3 valor
clase4 valor
con el siguiente script:
Código PHP:
  from estab 
  where conre 
10
  GROUP by area
,clase,categoria";
  
  $resultado = mysqli_query( $conexion, $consulta ) or die ( "
Algo ha ido mal en la consulta a la base de datos");
  echo "
<table width='70%' border='1' align='center'  class='mitabla'>";
  
  //__________________________________________________________//
  // Bucle while que recorre cada registro y muestra cada campo en la tabla.
 while ($columna = mysqli_fetch_array( $resultado ))
  {
  switch($columna['area']){
    case '01':
        $columna['area'] = "
Calamuchita";
    break;
    case '02':
        $columna['area'] = "
Capital";
    break;
    case '03':
        $columna['area'] = "
Noroeste";
    break;
    case '04':
        $columna['area'] = "
Norte";
    break;
    case '05':
        $columna['area'] = "
Paravachasca";
    break;
    case '06':
        $columna['area'] = "
Punilla";
    break;
    case '07':
        $columna['area'] = "
Sierra Chicas";
    break;
    case '08':
        $columna['area'] = "
Rutas de Acceso";
    break;
    case '09':
        $columna['area'] = "
Sierras del Sur";
    break;
    case '10':
        $columna['area'] = "
Traslasierras";
    break;
 
    default:
        $columna['area'] = "
Mar Chiquita";
     }

    echo "
<tr>";
    echo "
<td>".$columna['area']."</td>";
    echo "
<td>".$columna['clase']."</td>";
    echo "
<td>".$columna['categoria']."</td>";
    echo "
<td>".$columna['claxar']."</td>";
    echo "
</tr>";
 }   
  mysqli_close( $conexion );
?> 
si alguien me da una mano, agradercido
  #2 (permalink)  
Antiguo 07/09/2019, 18:34
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Impresion de count

usar switch consume mucho mas recursos que if o elseif, y dentro de un while es peor,
lo que tiene que hacer (a mi modesto entender) es un foreach al resultado de la consulta.


Código PHP:
Ver original
  1. $conectar = mysqli_connect('127.0.0.1','user', 'pass');
  2.  
  3. $consulta = "SELECT area, clase,categoria, count(*)claxar
  4.  from estab where conre = 10 GROUP by area,clase,categoria";
  5. foreach ($conectar->query($consulta) as $fila ) {
  6.     printf("'%s'@'%s'\n", $fila['area'], $fila['clase']);
  7. }


otro modo:

Código PHP:
Ver original
  1. $mysqli = new mysqli('127.0.0.1','user', 'pass');
  2. $query = "SELECT area, clase,categoria, count(*)claxar from estab where conre = 10 GROUP by area,clase,categoria";
  3.  
  4. $result = $mysqli->query($query);
  5.  
  6. /* array numerico */
  7. $row = $result->fetch_array(MYSQLI_NUM);
  8. printf ("%s (%s)\n", $row[0], $row[1]);
  9.  
  10. /* asociados */
  11. $row = $result->fetch_array(MYSQLI_ASSOC);
  12. printf ("%s (%s)\n", $row["area"], $row["clase"]);

que se yo solo pase por aca estoy aburrido :(

espero que sirva ni idea si funcionara!!!

saludos
__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -

Etiquetas: class, count, dato, impresion, mysql, query, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:50.