Foros del Web » Programando para Internet » PHP »

Instrucción SQL con php

Estas en el tema de Instrucción SQL con php en el foro de PHP en Foros del Web. Hola tengo los siguientes campos tengo una tabla con los campos: a06 hasta a20 y cada uno de ellos contiene un valor 1 ó 0 ...
  #1 (permalink)  
Antiguo 31/05/2004, 15:25
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
Instrucción SQL con php

Hola tengo los siguientes campos

tengo una tabla con los campos: a06 hasta a20 y cada uno de ellos contiene un valor 1 ó 0 (cero), quisiera hacer un conteo por cada registro y al final hacer una sumatoria, he hecho esto pero no sé si puede causar algun embotellamiento al motor mysql de mi localhost

Código PHP:
//Contar los campos en que los usuarios han hecho un clic
$a06mysql_query("SELECT COUNT(*) FROM retornos WHERE a06 ='1'");
$count_a06 mysql_result($a06,0);

$a07mysql_query("SELECT COUNT(*) FROM retornos WHERE a07 ='1'");
$count_a07 mysql_result($a07,0);

$a08mysql_query("SELECT COUNT(*) FROM retornos WHERE a08 ='1'");
$count_a08 mysql_result($a08,0);

$a09mysql_query("SELECT COUNT(*) FROM retornos WHERE a09 ='1'");
$count_a09 mysql_result($a09,0);

$a10mysql_query("SELECT COUNT(*) FROM retornos WHERE a10 ='1'");
$count_a10 mysql_result($a10,0);

$a11mysql_query("SELECT COUNT(*) FROM retornos WHERE a11 ='1'");
$count_a11 mysql_result($a11,0);

$a12mysql_query("SELECT COUNT(*) FROM retornos WHERE a12 ='1'");
$count_a12 mysql_result($a12,0);

$a13mysql_query("SELECT COUNT(*) FROM retornos WHERE a13 ='1'");
$count_a13 mysql_result($a13,0);

$a14mysql_query("SELECT COUNT(*) FROM retornos WHERE a14 ='1'");
$count_a14 mysql_result($a14,0);

$a15mysql_query("SELECT COUNT(*) FROM retornos WHERE a15 ='1'");
$count_a15 mysql_result($a15,0);

$a16mysql_query("SELECT COUNT(*) FROM retornos WHERE a16 ='1'");
$count_a16 mysql_result($a16,0);

$a17mysql_query("SELECT COUNT(*) FROM retornos WHERE a17 ='1'");
$count_a17 mysql_result($a17,0);

$a18mysql_query("SELECT COUNT(*) FROM retornos WHERE a18 ='1'");
$count_a18 mysql_result($a18,0);

$a19mysql_query("SELECT COUNT(*) FROM retornos WHERE a19 ='1'");
$count_a19 mysql_result($a19,0);

$a20mysql_query("SELECT COUNT(*) FROM retornos WHERE a20 ='1'");
$count_a20 mysql_result($a20,0); 
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #2 (permalink)  
Antiguo 31/05/2004, 15:31
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 21 años, 2 meses
Puntos: 0
No tiene porque causar algun tipo de embotellamiento.... que te hace suponerlo?
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #3 (permalink)  
Antiguo 31/05/2004, 15:39
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
ok..

digo no sé... pues tantas consultas a la vez quizás... no habrá una manera de resumir todo esto en una sola linea?
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #4 (permalink)  
Antiguo 31/05/2004, 15:52
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 21 años, 2 meses
Puntos: 0
Ignoro totalmente si mySQL soporta sub-consultas.. si es asi, habrá forma de resumirlo todo en una sola sentencia... pero dificilmente en una sola línea.

También es necesario tener una tabla con un solo registro para que sirva de "base" a las subconsultas... yo usaré una tabla llamada DUAL que existe en cualquier instalación oracle, si mySQL no tiene una por defecto, nada te costaria crearla... La condición: que tenga siempres solamente un registro...


Probá ejecutando algo como:

Código:
Select (SELECT COUNT(*) 
          FROM retornos WHERE a06 ='1'
       ) retornos_a06,
       (SELECT COUNT(*) 
          FROM retornos WHERE a07 ='1'
       ) retornos_a07
  from dual;
Podes probarla en phpMyAdmin, y si no retorna error, ya la amplias para todas las subconsultas que necesitas.

Hasta luego.

;)
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
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 06:46.