Foros del Web » Programando para Internet » PHP »

Uso de Array con Php y MySql

Estas en el tema de Uso de Array con Php y MySql en el foro de PHP en Foros del Web. Buenos Días a todos. Tengo un problema desde hace tiempo y no lo he podido resolver. Lo que pasa es que necesito consultar información de ...
  #1 (permalink)  
Antiguo 30/08/2016, 10:45
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Exclamación Uso de Array con Php y MySql

Buenos Días a todos.

Tengo un problema desde hace tiempo y no lo he podido resolver.

Lo que pasa es que necesito consultar información de 3 servidores que se encuentran en diferentes lugares pero mostrando sólo una línea de resultado ordenando la información de los 3 servidores juntos.

Para eso me recomendaron arrays, y el problema es que soy nuevo en eso.
Ahora, esa sería la solución o que me recomiendan ustedes:

Aquí va el ejemplo:

Server 1:
$sql1 = mysql_query("SELECT id, caja, chofer, cliente FROM server1.traslado")

Server 2:
$sql2 = mysql_query("SELECT id, trailer, driver, client FROM server2.traffic")

Server 3:
$sql3 = mysql_query("SELECT id, trailer, driver, client FROM server3.traffic")

Los servidores 2 y 3 están en inglés, no sé si sea una limitante y afectaría a algo en la consulta.

Saludos y Gracias a todos
  #2 (permalink)  
Antiguo 30/08/2016, 10:55
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Uso de Array con Php y MySql

Lee el manual array_merge
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 30/08/2016, 11:42
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Uso de Array con Php y MySql

Buenos días.

Pero cómo le haría para sacar un resultado de los 3 servidores.
  #4 (permalink)  
Antiguo 31/08/2016, 12:08
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 5 meses
Puntos: 20
Respuesta: Uso de Array con Php y MySql

Hola amigo,
pues si son servidores diferentes supongo que tendrían q ser conexiones diferentes ...
Eso creo :o
Saludos!
  #5 (permalink)  
Antiguo 02/09/2016, 06:42
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Uso de Array con Php y MySql

No has pensado en la solución más simple??

Conectas a un servidor, recoges los da
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #6 (permalink)  
Antiguo 02/09/2016, 06:54
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Uso de Array con Php y MySql

No has pensado en la solución más simple??

Conectas a un servidor, recoges los datos, los almacenas en un array.
Conectas a otro servidor, recoges los datos, los almacenas en el array
Conectas a otro servidor, recoges los datos, los almacenas en el array

Lo ordenas a tu elección y lo muestras
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #7 (permalink)  
Antiguo 05/09/2016, 14:41
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 11 meses
Puntos: 32
Respuesta: Uso de Array con Php y MySql

A mi me faltan datos, como realmente una lista de los campos que retiras de cada servidor, además del cómo sabes que sólo te devolverán una línea cada uno.

Suponiendo que sólo son 2 conexiones, yo haría algo como lo que ves aquí:

Código:
<?php
$mysqli_conexion_1 = new mysqli("server1", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Falló la conexión failed: %s\n", $mysqli_conexion_1->connect_error);
    exit();
}

$query1 = "SELECT id, caja, chofer, cliente FROM server1.traslado";
$result1 = $mysqli_conexion_1->query($query1);

$row1 = $result1->fetch_array(MYSQLI_ASSOC);

$campos_que_voy_a_usar['id'] = $row1['id'];
$campos_que_voy_a_usar['caja'] = $row1['caja'];
$campos_que_voy_a_usar['chofer'] = $row1['chofer'];
$campos_que_voy_a_usar['cliente'] = $row1['cliente'];

/* CERRAMOS CONEXIÓN CON EL SERVIDOR 1*/
$result1->free();
$mysqli_conexion_1->close();


$mysqli_conexion_2 = new mysqli("server2", "my_user", "my_password", "world");
// esta conexión ya ni la compruebo

$query2 = "SELECT id, trailer, driver, client FROM server2.traffic";
$result2 = $mysqli_conexion_2->query($query2);

$row2 = $result2->fetch_array(MYSQLI_ASSOC);

$campos_que_voy_a_usar['trailer'] = $row2['trailer'];
$campos_que_voy_a_usar['cliente2'] = $row2['client'];
$campos_que_voy_a_usar['chofer2'] = $row['driver'];


$result2->free();
$mysqli_conexion_2->close();
?>
El código es incompleto, no funciona y tiene fallos, pero lo importante es el concepto:

El concepto es ir metiendo la respuesta de las consultas en un array que reuna todos los campos que necesitas ($campos_que_voy_a_usar) y así luego sólo tienes que recorrer ese array (obviamente los nombres de variables puedes modificarlos a tu antojo)
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #8 (permalink)  
Antiguo 05/09/2016, 17:31
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Uso de Array con Php y MySql

Tan fácil como que tienes que hacer tres conexiones: imagina que tus bases son "Azul", "Verde" y "Rojo".

Harás esto:
Código PHP:
Ver original
  1. $ConexionAzul = new MySQLi($TuServidorCualquiera, $TuUsuarioCualquiera, $TuClaveCualquiera, "Azul");
  2. $ConexionRojo = new MySQLi($TuServidorCualquiera, $TuUsuarioCualquiera, $TuClaveCualquiera, "Rojo");
  3. $ConexionVerde = new MySQLi($TuServidorCualquiera, $TuUsuarioCualquiera, $TuClaveCualquiera, "Verde");

Y luego la petición se la pasas a las tres:
Código PHP:
Ver original
  1. $Peticion = "SELECT * FROM `TablaDeEjemplo`";
  2.   $QueryAzul = $ConexionAzul->query($Peticion);
  3.   $QueryRojo = $ConexionRojo->query($Peticion);
  4.   $QueryVerde = $ConexionVerde->query($Peticion);

¡Y ya tienes tus variables como siempre, sin arrays extraños ni complicaciones!
__________________
Experto: aunque no sepas hacer algo, los novatos te pedimos que nos digas algo aunque sepas que no acertarás

Etiquetas: arraylist, mysql+consulta, servidores
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 20:30.