Foros del Web » Programando para Internet » PHP »

Como evitar que cuente las comas

Estas en el tema de Como evitar que cuente las comas en el foro de PHP en Foros del Web. Hola como estan todos, tengo un pequeño probema y no se como hacer para evitar que en esta consulta cuanto realizo el count no me ...
  #1 (permalink)  
Antiguo 28/10/2012, 09:27
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Como evitar que cuente las comas

Hola como estan todos, tengo un pequeño probema y no se como hacer para evitar que en esta consulta cuanto realizo el count no me cuenten las comas sino solmente los registros, aqui tengo un ejemplo de lo q quiero lograr hacer

Código PHP:
Ver original
  1. <?php
  2. echo "<br>";
  3. echo "<br>";
  4. $comida="arepa,queso,mantequilla,,";
  5. $separa=explode(",",$comida);
  6. $numero=count($separa);
  7. echo "Hay ".$numero." Comidas";
  8. ?>

aqui como pueden ver solo existen tres registros verdad, pero en la consulta salen q existen 5 registros porq esta contando las comas tambien, como podria hacer q cuente solo los registros mas no las comas, sera eso posible hacerlo, si me podrian echar una manito se los agradeceria en verdad
  #2 (permalink)  
Antiguo 28/10/2012, 10:01
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Como evitar que cuente las comas

No lo he probado pero te deberia servir esto:

Código PHP:
<?php
$tuArray 
= array("1","2","","","8");
$array count(array_diff($tuArray, array('')));
echo 
$array;
?>
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 28/10/2012, 10:19
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como evitar que cuente las comas

Hola muchas gracias por responder, dejame decirte q si sirve asi como me explicas, pero el problema seria es como hago para poder consultar los datos, es decir para q se encierren en comilla dobles, ya q los datos los tengo guardado de esta forma en un campo de la tabal 01,02,03,04 y si solo exiten 3 registros estan guardados si 1,2,3,

como podria hacer alli para q no cuenten las comas asi como tu utilizaste las comillas dobles
  #4 (permalink)  
Antiguo 28/10/2012, 10:27
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como evitar que cuente las comas

dejame explicarme lo q quiero es poder contar las horas guardadas en mi tabla horarios para el docente, es decir en mi tabla horarios tengo varios campos donde las horas se guardan de la siguiente manera en un dia las horas se guardan asi; o1,02,03,04 cuando son 4 horas q son maximo y cuanto son 3 horas se guardan asi 01,02,03, entoncs necesitaria contar si un docente tiene horas asignadas en varios dias no se si me explique bien

si puedes echarle un vistazo a mi tabla horarios donde tengo las horas registradas en los campos dish1, dish2,dish3 y dish4

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `horarios` (
  2.   `grado` int(11) NOT NULL,
  3.   `cod_mat` int(3) NOT NULL,
  4.   `seccion` varchar(5) COLLATE utf8_spanish_ci NOT NULL,
  5.   `cod_mencion` varchar(10) COLLATE utf8_spanish_ci NOT NULL,
  6.   `cod_doc` int(11) NOT NULL,
  7.   `dia1` int(11) NOT NULL,
  8.   `dish1` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
  9.   `aula1` varchar(10) COLLATE utf8_spanish_ci NOT NULL,
  10.   `dia2` int(11) NOT NULL,
  11.   `dish2` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
  12.   `aula2` varchar(10) COLLATE utf8_spanish_ci NOT NULL,
  13.   `dia3` int(11) NOT NULL,
  14.   `dish3` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
  15.   `aula3` varchar(10) COLLATE utf8_spanish_ci NOT NULL,
  16.   `dia4` int(11) NOT NULL,
  17.   `dish4` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
  18.   `aula4` varchar(10) COLLATE utf8_spanish_ci NOT NULL
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
  20.  
  21. INSERT INTO `horarios` (`grado`, `cod_mat`, `seccion`, `cod_mencion`, `cod_doc`, `dia1`, `dish1`, `aula1`, `dia2`, `dish2`, `aula2`, `dia3`, `dish3`, `aula3`, `dia4`, `dish4`, `aula4`) VALUES
  22. (7, 1, 'A', '', 2, 1, '01-02-03-04', '01', 0, '---', '', 0, '---', '', 0, '---', ''),
  23. (8, 21, 'A', '', 2, 1, '06-07-08-09', '03', 0, '---', '', 0, '---', '', 0, '---', ''),
  24. (8, 15, 'B', '', 2, 2, '01-02-03-04', '02', 0, '---', '', 0, '---', '', 0, '---', ''),
  25. (7, 10, 'A', '', 2, 2, '05-06-07-08', '04', 0, '---', '', 0, '---', '', 0, '---', ''),
  26. (8, 22, 'A', '', 2, 3, '01-02-03-04', '04', 0, '---', '', 0, '---', '', 0, '---', ''),
  27. (9, 33, 'A', '', 2, 3, '06-07-08-09', '04', 0, '---', '', 0, '---', '', 0, '---', ''),
  28. (7, 1, 'B', '', 2, 4, '01-02-03-04', '06', 0, '---', '', 0, '---', '', 0, '---', ''),
  29. (9, 34, 'B', '', 2, 4, '10-11-12-13', '06', 0, '---', '', 0, '---', '', 0, '---', ''),
  30. (8, 21, 'B', '', 2, 5, '01-02-03-04', '03', 0, '---', '', 0, '---', '', 0, '---', '');

te agradeceria por favor q si puedes le echarias un vistazo
  #5 (permalink)  
Antiguo 28/10/2012, 13:44
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Como evitar que cuente las comas

Cita:
Hola muchas gracias por responder, dejame decirte q si sirve asi como me explicas, pero el problema seria es como hago para poder consultar los datos, es decir para q se encierren en comilla dobles, ya q los datos los tengo guardado de esta forma en un campo de la tabal 01,02,03,04 y si solo exiten 3 registros estan guardados si 1,2,3,
Por favor antes de poner ejemplos que tu no entiendes tomate la molestia de entender como funciona explode. Creo que no lo tienes muy claro porque de lo contrario ya habrias logrado hallar la solución con lo que te explique. Por favor pegale un vistazo al manual.

http://php.net/manual/es/function.explode.php

Lo unico que debes hacer es convertir la cadena en un arreglo y si existen registros vacios con lo que te mostre ya podrias contar solo los arreglos validos (no vacios).

Igual creo que en el manual existe un ejemplo de algo similar a lo que necesitas, busca en el enlace que te mande esta función en los ejemplos explode_filtered_empty escrita por kkobashi, creo que te sirve para lo que necesitas. OJO ESTA EN LA SECCION DE EJEMPLOS.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 28/10/2012 a las 13:52

Etiquetas: comas, registro
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 15:53.