Foros del Web » Programando para Internet » PHP »

contar cuantos 0 hay hasta llegar a 1

Estas en el tema de contar cuantos 0 hay hasta llegar a 1 en el foro de PHP en Foros del Web. Hola como estan mi pregunta es. tengo una tabla la cual en uno de sus campos yo inserto 0 y 1 lo que deseo hacer ...
  #1 (permalink)  
Antiguo 12/09/2014, 20:42
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta contar cuantos 0 hay hasta llegar a 1

Hola como estan mi pregunta es. tengo una tabla la cual en uno de sus campos yo inserto 0 y 1 lo que deseo hacer es un ciclo ejemplo

si estoy en la pagina que me muestra los registro y estoy en el muestra.php?id=1

y en los id 2, 3, 4, 5 el campo numero estan en 0 pero el id 6 el campo numero esta en 1 que me muestre que hay 4 registro que tienen 0, que el ciclo cuente cuantos ceros hay hasta que el haye un 1, que se rompa cuando el haye un 1 que en este caso lo ayo en el id 6.
  #2 (permalink)  
Antiguo 12/09/2014, 20:59
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: contar cuantos 0 hay hasta llegar ha 1

Antes de ayudarte, una pregunta: Si en la tabla hubieran más de 6 registros, digamos unos 10, en los 5 primeros el valor es cero (como pones de ejemplo), en el registro 6 el valor es uno y en los restantes (del 7 al 10) también es cero, ¿quieres que se cuenten también esos ceros o solo los que están antes del uno del sexto registro?

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 12/09/2014, 21:57
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: contar cuantos 0 hay hasta llegar ha 1

quiero que se detenga en el id 6, que solo me cuente los cero hasta q el haye un 1 no importa si el 7, 8 , o los de mas sean 0 que se pare en el id 6.
  #4 (permalink)  
Antiguo 12/09/2014, 22:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: contar cuantos 0 hay hasta llegar ha 1

En ese caso, podrías hacerlo así:

Código PHP:
Ver original
  1. //Realizamos la conexión
  2. $conexion = mysqli_connect('servidor', 'usuario', 'contraseña', 'base de datos');
  3.  
  4. //Si no se logra conectar, mostramos un mensaje y finalizamos el script
  5. if (!$conexion){
  6.     exit ('No se pudo realizar la conexión');
  7. }
  8.  
  9. //Caso contrario, realizamos la ejecución de la consulta
  10. $query = mysqli_query($conexion, 'SELECT campo FROM tabla') or exit ('Se produjo un error');
  11.  
  12. //Si la consulta devolvió registros
  13. if (mysqli_num_rows($query)){
  14.     //Inicializamos una variable en la que acumularemos la cantidad de ceros
  15.     $aux = 0;
  16.  
  17.     //Iteramos sobre el conjunto de registros obtenidos
  18.     while ($row = mysqli_fetch_array($query)){
  19.         //En cada iteración, verificamos el valor de cada registro
  20.         if ($row['campo'] == 0){
  21.             //Si el dato actual en la iteración es igual a cero
  22.             $aux++; //El acumulador aumenta su valor en uno
  23.         }
  24.         else{
  25.             //Caso contrario
  26.             break; //Salimos del bucle
  27.         }
  28.     }
  29.  
  30.     //Liberamos a la memoria asociada al resultado de la consulta
  31.     mysqli_free_result($query);
  32.  
  33.     //Imprimimos el total de ceros encontrados antes haber hallado al uno
  34.     echo 'Hay ' . $aux . ' ceros';
  35. }
  36. else{ //Si la consulta no devuelve registros
  37.     echo 'No se encontraron datos en la consulta';
  38. }
  39.  
  40. //Cerramos la conexión
  41. mysqli_close($conexion);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 13/09/2014, 15:00
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: contar cuantos 0 hay hasta llegar a 1

Código MySQL:
Ver original
  1. SELECT COUNT(*) cantidad -- Contar cuantos
  2.     tabla,
  3.        (SELECT tabla.id FROM tabla WHERE tabla.numero = 1 ORDER BY id ASC LIMIT 1) posicion -- Detectar automaticamente el primer id con el campo numero = 1
  4.     tabla.id < posicion.id -- Todos los que estan antes del primer id que tenia al nuemero 1
  5.     AND tabla.numero = 0 -- Y que tengan valor 0
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: registro, tabla
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:56.