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: 23 años, 3 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
$a06= mysql_query("SELECT COUNT(*) FROM retornos WHERE a06 ='1'");
$count_a06 = mysql_result($a06,0);

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

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

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

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

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

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

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

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

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

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

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

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

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

$a20= mysql_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: 23 años, 8 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: 23 años, 3 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: 23 años, 8 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 11:04.