Nueva pregunta

Pregunta:

Fecha: 31-01-2019 08:25:05 (En Español)

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 ejemplo

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

  <?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
Etiquetas: Base de Datos - MySQL - PHP - PHP Avanzado Votos: 0 - Respuestas: 8 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  •  
      1  
     
    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
     
  •  
      1  
     
    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
     
  •  
      1  
     
    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
     
  •  
      1  
     
    Fecha: 31-01-2019 10:19:37 Ahi lo lo pase....   Votos: 1 - 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
     
  •  
      0  
     
    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
 
frjcbbae garagebible.com