Foros del Web » Programando para Internet » PHP »

Relacionar Dos Bases de datos

Estas en el tema de Relacionar Dos Bases de datos en el foro de PHP en Foros del Web. Buenas, Supongamos que tenemos 2 bases de datos una "usuarios" y ortra "web" En la base de datos usuarios tenemos una tabla llama "datos basicos" ...
  #1 (permalink)  
Antiguo 07/06/2012, 12:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 1
Relacionar Dos Bases de datos

Buenas,

Supongamos que tenemos 2 bases de datos una "usuarios" y ortra "web"

En la base de datos usuarios tenemos una tabla llama "datos basicos" en la cual se especifican los campos "nombre de la cuenta" y "id" en nombre de la cuenta aparece "kirinvieco", en id "1" porque es el primer usuario.

Y en la base de datos "web" tenemos una tabla llamada "preferencias" en la cual hay 2 campos "id" seria el correspondiente al usuario de la base de datos de "usuario" y el otro campo "valor" ,el campo valor se encuantra en "0".

La pregunta seria ¿como puedo relacionar estas bases de datos para que la web identifique a el "usuario" con su "id" y modifique el campo "valor" + 25 tantas veces como se ejecute el script.?
  #2 (permalink)  
Antiguo 07/06/2012, 13:12
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Relacionar Dos Bases de datos

y no es mas facíl tener varias tablas en la misma base?

Se puede acceder a las demás bd (si tenés los permisos) con nombredelabase.nombretabla podés jacer joins o lo que sea.

ahora por lo que entiendo si ya te conectaste a la bd de usuarios y tenes el id, para sumarle los "25" te conectas a la otra base y lo unico que tenes que hacer es un update:

"UPDATE WEB SET VALOR = VALOR + 25 WHERE ID = ".$el_id_de_la_otra_base

tené en cuenta que cuando des de alta nuevos usuarios vas a tener que agregarlos en las dos bases
  #3 (permalink)  
Antiguo 07/06/2012, 13:16
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Relacionar Dos Bases de datos

también lo podes hacer con un trigger
  #4 (permalink)  
Antiguo 07/06/2012, 14:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Relacionar Dos Bases de datos

Código:
"UPDATE WEB SET VALOR = VALOR + 25 WHERE ID = ".$el_id_de_la_otra_base
De esta manera si el campo valor tiene un numero por ejempro 3 me cambia a 25 yo quiero que los sume.
  #5 (permalink)  
Antiguo 07/06/2012, 14:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Relacionar Dos Bases de datos

Pienso que seria un codigo como este pero me da error en la linea 16

Código:
<?php
$web = mysql_connect("localhost","xxx","xxx");
$user = mysql_connect("localhost","xxx","xxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }


mysql_select_db("usuarios", $user);

$result = mysql_query("SELECT * FROM datos basicos");

while($row = mysql_fetch_array($result))
  {
  echo $row['id'] . ;
  echo "<br />";
  }

mysql_select_db("web", $web);
mysql_query("UPDATE account_data SET dp= + 25
WHERE id ='.$result'");

mysql_close($con);
?>
  #6 (permalink)  
Antiguo 07/06/2012, 14:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Relacionar Dos Bases de datos

Es normal que de error, estás concatenando mal la consulta.

Pon mucha atención en las comillas, si quieres lee esto:
http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 07/06/2012, 14:48
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Relacionar Dos Bases de datos

en vez de
Código PHP:
Ver original
  1. ...WHERE id ='.$result'"

usa

Código PHP:
Ver original
  1. ....WHERE id =".$result, $linkDeConexion)
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 07/06/2012, 15:15
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Relacionar Dos Bases de datos

Que seria eso de $linkDeConexion no lo entiendo
  #9 (permalink)  
Antiguo 07/06/2012, 15:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Relacionar Dos Bases de datos

es la rutina que usas para conectarte a la base de datos en tu caso, dependiendo de que base de datos quieres consultar deberias usar $web o bien $user

o sino como sabe la consulta a que base de datos debe consultar????
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #10 (permalink)  
Antiguo 07/06/2012, 15:28
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Relacionar Dos Bases de datos

Tendria que ser asi, poniendo la $user que es donde recoge el id del usuario en linea para poder realizar la funcionde update en la tabla account_data de la base de datos web? , pero sigue sin funcionar.


Código:
<?php
$web = mysql_connect("localghost","xxx","xxx");
$user = mysql_connect("localhost","xxx","xxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }


mysql_select_db("usuarios", $user);

$result = mysql_query("SELECT * FROM datos basicos");

while($row = mysql_fetch_array($result))
  {
  echo $row['id'] . ;
  echo "<br />";
  }

mysql_select_db("web", $web);
mysql_query("UPDATE account_data SET dp= + 25
WHERE id =".$result, $user);

mysql_close($con);

Etiquetas: bases, relacionar, tabla, usuarios
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 23:22.