Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con un INSERT 'múltiple'

Estas en el tema de Consulta con un INSERT 'múltiple' en el foro de Mysql en Foros del Web. Buenas, aqui os dejo una consulta que me lleva de cabeza. mi idea es la siguiente. tengo un panel de control para insertar datos de ...
  #1 (permalink)  
Antiguo 30/10/2005, 08:01
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Consulta con un INSERT 'múltiple'

Buenas, aqui os dejo una consulta que me lleva de cabeza.

mi idea es la siguiente. tengo un panel de control para insertar datos de un producto. ahora mismo, se inserta en un servidor, y hasta aqui ningun problema.

ahora quiero hacer lo mismo, pero que al mismo tiempo, se inserte en un servidor y en otro. a ver si me explico, la idea es que una persona entre al panel de control, inserte un producto, y esté a la vez en dos bd totalmente diferentes...

es posible eso? como puedo desarrollarlo?

salu2
  #2 (permalink)  
Antiguo 01/11/2005, 12:12
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
En que esta programado tu panel de control?
__________________
SELECT * FROM LA_VIDA
  #3 (permalink)  
Antiguo 02/11/2005, 02:48
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
gracias ane_aaron por responder

tengo todo el panel de control programado con php+MySQL. la idea es que un cliente se actualice sus datos en dos webs diferentes, y dos bases de datos diferentes.

que más necesitas saber?
  #4 (permalink)  
Antiguo 02/11/2005, 03:26
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Pues sólo necesitas cambiar tu cadena de conexión cuando hagas la primera inserción y volver hacer la inserción.
  #5 (permalink)  
Antiguo 03/11/2005, 09:08
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por Jose_minglein2
Pues sólo necesitas cambiar tu cadena de conexión cuando hagas la primera inserción y volver hacer la inserción.
Jose_minglein2 tiene razon, lo que necesitas es:

Conectarte al primero, insertar, conectarte al segundo e insertar otra vez.

Yo te recomendaria que si la insercion "doble" la vaz a ralizar en otros procesos de tu sistema, mejor desarrolles una clase que te permita hacer esto en con una sola instruccion, es decir:

inserta_producto($idproducto,....);

y esta automaticamente haga las dos inserciones.

En esta clase declaras tus funciones conecta1, cierra1, conecta2,cierra2:


Código:
class BaseDatos{
  var $strServidorUno = "server_1";
  var $strBDUno = "nombre_base_1";
  var $strUsrUno = "root";
  var $strPwdUno = "";  

 var $strServidorDos = "server_2";
  var $strBDDos = "nombre_base_2";
  var $strUsrDos = "root";
  var $strPwdDos = "";  
 
  var $intConexion = "conexion";
 
  function conecta_1(){    
    $this->intConexion=mysql_connect($this->strServidorUno,$this->strUsrUno,$this->strPwdUno);
    if ($this->intConexion !="")
       return mysql_select_db($this->strBDUno,$this->intConexion);
     else
       return 0;
    }
  
  function conecta_2(){    
    $this->intConexion=mysql_connect($this->strServidorDos,$this->strUsrDos,$this->strPwdDos);
    if ($this->intConexion !="")
       return mysql_select_db($this->strBDDos,$this->intConexion);
     else
       return 0;
    }

function cierra{ 
    mysql_close($this->intConexion);
  }

}

Otra clase para el producto

include ("BaseDatos.class");

class producto(){
  var $BD; 
  
  function producto(){
    $this->BD =  new BaseDatos();
  }  

  function inserta_producto($idproducto,.....){
  
    $this->BD->conecta_1();
    mysql_query("INSERT INTO productos.....");
    $this->BD->cierra();
  
    $this->BD->conecta_2();
    mysql_query("INSERT INTO productos.....");
    $this->BD->cierra();

  }
  
}

Asi cuando insertes un producto lo unico que tienes que hacer es: 

var $producto= new producto();
$producto->inserta($idproducto,.....);

Y esta funcion insertara en las dos bases de datos 


Esta estructura es de facil mantenimiento. Esta muy general, para que te des una idea.
__________________
SELECT * FROM LA_VIDA
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 18:22.