Pregunta:
Fecha: 31-01-2019 08:25:05
(En Español)
la tabla seria asi
id/ origen /#Protocolo/caja/
1/Hosp.Central/01010101 / 1 /
2/Hosp.Central/01010101 / 2 /
3/Hosp.Central/01010101 / 3 /
4/Hosp.Central/01010101 / 4 /
5/Hosp.Central/09090909 / 1 /
6/Hosp.Central/09090909 / 2 /
7/Hosp.Central/09090909 / 3 /
8/Hosp.Central/15151515
9/Hosp.Central/20202020
10/Hosp.Central/111111111
11/ Hosp.Norte /22222222
12/ Hosp.Sur /61611661
estos son los datos que yo tengo en mi BD ahora lo que yo quiero imprimir en pantalla es
Origen: Hosp.Central # de Protocolo: 01010101 cajas:4
Origen: Hosp.Central # de Protocolo: 09090909 cajas:3
Origen: Hosp.Central # de Protocolo: 15151515 cajas:1
me explico de los datos en mi base de datos yo solo quiero mostrar #protocolo, el origen y la sumatoria de todas las cajas que estan amarradas a ese #protocolo y que si hay 8 #protocolos distintos en esa tabla imprimir los 8 #protocolos con su Origen y sumatorias de todas las cajas
la sumatoria no me es complicado mi problema se presenta al momento de la consulta como le digo que me imprima los #protocolos pero uno de cada uno no todos y que se repitan como loco hasta ahora he echo esto
pero al llegar a la Tercera Consulta se me cae todo porque WHERE solo me deja agregar un valor y ya no se cmo hacer formulo mi pregunta nuevamente
Como puedo imprimir los valores del campo #protocolo y su origen con la sumatoria de las cajas de la tabla cam1 en pantalla sin que estos se repitan todos
gracias quedo atento a su respuesta Votos: 0 - Respuestas: 8 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
imprimir consulta de base de datos de valores no repetidos[Resuelta]
Buenas tengo un gran problema desde hace un buen tiempo tengo una base de datos con una tabla llamada cam1 ahora esta tabla contiene unos datos que se repiten muchos y otros que son unicos mi pregunta es como puedo yo tomar los valores que no estan repetidos de los valores que aparezcan solo quiero tomar uno de cada uno este les dejo un ejemplola tabla seria asi
id/ origen /#Protocolo/caja/
1/Hosp.Central/01010101 / 1 /
2/Hosp.Central/01010101 / 2 /
3/Hosp.Central/01010101 / 3 /
4/Hosp.Central/01010101 / 4 /
5/Hosp.Central/09090909 / 1 /
6/Hosp.Central/09090909 / 2 /
7/Hosp.Central/09090909 / 3 /
8/Hosp.Central/15151515
9/Hosp.Central/20202020
10/Hosp.Central/111111111
11/ Hosp.Norte /22222222
12/ Hosp.Sur /61611661
estos son los datos que yo tengo en mi BD ahora lo que yo quiero imprimir en pantalla es
Origen: Hosp.Central # de Protocolo: 01010101 cajas:4
Origen: Hosp.Central # de Protocolo: 09090909 cajas:3
Origen: Hosp.Central # de Protocolo: 15151515 cajas:1
me explico de los datos en mi base de datos yo solo quiero mostrar #protocolo, el origen y la sumatoria de todas las cajas que estan amarradas a ese #protocolo y que si hay 8 #protocolos distintos en esa tabla imprimir los 8 #protocolos con su Origen y sumatorias de todas las cajas
la sumatoria no me es complicado mi problema se presenta al momento de la consulta como le digo que me imprima los #protocolos pero uno de cada uno no todos y que se repitan como loco hasta ahora he echo esto
<?php include("conexion.php"); $sql="SELECT * FROM cam1"; $resul=mysqli_query($conexion,$sql); $resultado=mysqli_fetch_array($resul); $proto=$resultado['protocolo']; printf($proto); $sql2="SELECT * FROM cam1 WHERE protocolo<>$proto"; $resul2=mysqli_query($conexion,$sql2); $resultado2=mysqli_fetch_array($resul2); $proto2=$resultado2['protocolo']; printf($proto2); $sql3="SELECT * FROM cam1 WHERE protocolo<>' $proto2"; $resul3=mysqli_query($conexion,$sql3); $resultado3=mysqli_fetch_array($resul3); $proto3=$resultado3['protocolo']; printf($proto3); ?>
pero al llegar a la Tercera Consulta se me cae todo porque WHERE solo me deja agregar un valor y ya no se cmo hacer formulo mi pregunta nuevamente
Como puedo imprimir los valores del campo #protocolo y su origen con la sumatoria de las cajas de la tabla cam1 en pantalla sin que estos se repitan todos
gracias quedo atento a su respuesta Votos: 0 - Respuestas: 8 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 31-01-2019 08:42:21 Hola.
Haber si entendi:
Queres que ten de lo siguiente
Origen: Hosp.Central # de Protocolo: 01010101 cajas:4
ahi donde cajas 4, seria la suma de las caja, no el numero de caja, es decir que tal vez en la caja 1, caja 2, caja 11, caja 20, tiene el mismo protocolo?, pero que hay si el origen son de distintos lugares?
porque sacar solo por el procolo no seria tan dificil, pero si los origenes del mismo protocolo son distinto te traeria mas de un registro. Votos: 1 - Link respuesta -
Fecha: 31-01-2019 09:14:53 correcto puede haber una cantidad alta con el mismo protocolo y el mismo origen
El origen y el protocolo siempre van a ir juntos,nunca va haber un protocolo con varios origen, peeero si se puede dar un origen con varios protocolos
Esto nunca se va a dar
id/ origen /#Protocolo/caja/
1/Hosp.Central/ 01010101 / 1 /
1/Hosp.Norte / 01010101 / 1 /
1/ Hosp.Sur / 01010101 / 1 /
si te fijas en el ejemplo hay varios origenes enlazados a un mismo protocolo bueno eso nunca va a pasar eso no existe
Ejemplo de lo que si puede Pasar
id/ origen /#Protocolo/caja/
1/Hosp.Central/ 01010101 / 1 /
2/Hosp.Central/ 02020202 / 1 /
3/Hosp.Central/ 02020202 / 2 /
4/Hosp.Central/ 03030303 / 1 /
si te fijas en el ejemplo esta el mismo origen pero diferente protocolos esto si se da
gracias quedo atento a sus respuesta Votos: 0 - Link respuesta -
Fecha: 31-01-2019 09:17:41 Ok, voy a preparar una tabla y llenarla de datos, para hacer mis pruebas y si tengo exito te comento. Votos: 1 - Link respuesta
-
Fecha: 31-01-2019 10:10:50 Llene una tabla con algo de 100 registros, y con este codigo creo es lo que necesitas:
- ten en cuenta que traeria todos los resultados agrupados por el protocolo, teniendo en cuenta que siempre el origen de ese protocolo seria el mismo.
/*-----Conexion para hacer prueba*/ $link = new mysqli("localhost", "root", "clave", "pruebas"); if ($link->connect_errno) { echo "Falló la conexión a MySQL: (" . $link->connect_errno . ") " . $link->connect_error; } /*---- Conexion --------*/ $sql = 'SELECT origen, protocolo, count(caja) as totalcaja FROM hospital GROUP BY protocolo ORDER BY origen, protocolo'; $result = mysqli_query($link, $sql); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Origen: ".$row["origen"]."- Protocolo: ".$row['protocolo']."- Cajas: ".$row['totalcaja']. "<br>"; } } else { echo "0 results"; } mysqli_close($link);
Te hubiese pasado una captura de pantalla pero no se como subirla:
este es el resultado:
Origen: origen-2- Protocolo: protocolo-1- Cajas: 6
Origen: origen-2- Protocolo: protocolo-2- Cajas: 3
Origen: origen-2- Protocolo: protocolo-3- Cajas: 4
Origen: origen-2- Protocolo: protocolo-4- Cajas: 1
Origen: origen-2- Protocolo: protocolo-5- Cajas: 2
Origen: origen-2- Protocolo: protocolo-6- Cajas: 4
Origen: origen-4- Protocolo: protocolo-10- Cajas: 5
Origen: origen-4- Protocolo: protocolo-11- Cajas: 2
Origen: origen-4- Protocolo: protocolo-7- Cajas: 3
Origen: origen-4- Protocolo: protocolo-8- Cajas: 6
Origen: origen-4- Protocolo: protocolo-9- Cajas: 4
Origen: origen-7- Protocolo: protocolo-12- Cajas: 19
Origen: origen-7- Protocolo: protocolo-13- Cajas: 18
Origen: origen-7- Protocolo: protocolo-14- Cajas: 16
Origen: origen-7- Protocolo: protocolo-15- Cajas: 23
- Espero te sirva, saludos Votos: 1 - Link respuesta -
Fecha: 31-01-2019 10:17:20 ok si no tienes exito la compartes igual y vemos que podemos lograr entre ambos Votos: 0 - Link respuesta
-
-
Fecha: 01-02-2019 05:46:54 Mi Hermano quedo Perfecto eso mismo era lo que necesitaba así tal cual muchísimas gracias por la ayuda Votos: 0 - Link respuesta
-
Fecha: 01-02-2019 15:50:05 Qué !! bueno que haya servido, cualquier cosa seguimos en contacto. Saludos Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión