Foros del Web » Programando para Internet » PHP »

Comparar 2 tablas

Estas en el tema de Comparar 2 tablas en el foro de PHP en Foros del Web. Hola a todos! necesito comparar un campo de dos tablas diferentes. ________________________________ Tabla 1 Nombre Edad Tabla 2 Nombre ________________________________ Lo que quiero hacer es ...
  #1 (permalink)  
Antiguo 19/11/2013, 15:17
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Comparar 2 tablas

Hola a todos!

necesito comparar un campo de dos tablas diferentes.
________________________________
Tabla 1
Nombre
Edad

Tabla 2
Nombre
________________________________

Lo que quiero hacer es comparar si el nombre que aparece en tabla 1 es igual al nombre que aparece en tabla 2.

Como puedo hacer esto??

Gracias!
  #2 (permalink)  
Antiguo 19/11/2013, 15:41
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: Comparar 2 tablas

Es un asunto de sql no de php, comparar campos varchar te va a traer problemas tarde o temprano porque 'paula', 'Paula' y 'PAULA ' no son lo mismo.

la idea aproximada en sql es esta:

select t1.* from tabla1 t1 left join tabla2 on(tabla2.nombre=t1.nombre);
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 19/11/2013, 15:43
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comparar 2 tablas

lo mas básico es
Cita:
sele t tabla1.campo1, tabla2.campo1, ... from tabla1, tabla2
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 19/11/2013, 15:45
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: Comparar 2 tablas

intente corregir pero alguien mas posteó:

select *
from tabla1
where nombre in (select nombre from tabla2);
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #5 (permalink)  
Antiguo 19/11/2013, 15:46
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Comparar 2 tablas

esta te sirve para ver cuales nombres estan en ambas tablas
Código MySQL:
Ver original
  1. SELECT  nombre FROM tabla1 WHERE EXISTS (SELECT nombre FROM tabla2 )


y esta para ver cuales no estan en la tabla1
Código MySQL:
Ver original
  1. SELECT  nombre FROM tabla1 WHERE NOT EXISTS (SELECT nombre FROM tabla2 )
  #6 (permalink)  
Antiguo 19/11/2013, 16:12
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Comparar 2 tablas

La cuestión es que quiero hacerlo con un condicional:

La idea es introducir un nombre en el formulario

Si este valor es igual al valor de nombre de la tabla 2 entonces

este valor añadido automaticamente se añade a la tabla 1

sino

sale un mensaje de error en la pagina.

Gracias.
  #7 (permalink)  
Antiguo 19/11/2013, 17:19
 
Fecha de Ingreso: abril-2010
Ubicación: Cancun
Mensajes: 88
Antigüedad: 14 años
Puntos: 2
Respuesta: Comparar 2 tablas

Cita:
Iniciado por silvia_eclipse Ver Mensaje
La cuestión es que quiero hacerlo con un condicional:

La idea es introducir un nombre en el formulario

Si este valor es igual al valor de nombre de la tabla 2 entonces

este valor añadido automaticamente se añade a la tabla 1

sino

sale un mensaje de error en la pagina.

Gracias.
Tu duda es muy diferente a lo que acabas de poner
  #8 (permalink)  
Antiguo 19/11/2013, 21:36
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Comparar 2 tablas

lo que quieres hacer seria de la siguiente forma....
Cita:
<?php

#guardas el nombre de la url en una variable
$nombreurl="-1";
if (isset($_GET['nombre']))
{
$nombreurl = $_GET['usuario'];
}

#creas la consulta de la tabla 1
mysql_select_db("BASE DE DATOS", "CONEXION A LA BASE DE DATOS");
$consulta_tabla1 = sprintf("SELECT * FROM tabla1 WHERE nombre = '%s'", $nombreurl);
$tabla1 = mysql_query($consulta_tabla1, "CONEXION A LA BASE DE DATOS""CONEXION A LA BASE DE DATOS") or die(mysql_error());
$row_tabla1 = mysql_fetch_assoc($tabla1);
$numRows_tabla1= mysql_num_rows($tabla1);


#creas la consulta de la tabla 2
mysql_select_db("BASE DE DATOS", "CONEXION A LA BASE DE DATOS");
$consulta_tabla2 = sprintf("SELECT * FROM tabla1 WHERE nombre");
$tabla1 = mysql_query($consulta_tabla2, "CONEXION A LA BASE DE DATOS""CONEXION A LA BASE DE DATOS") or die(mysql_error());
$row_tabla2 = mysql_fetch_assoc($tabla2);
$numRows_tabla2= mysql_num_rows($tabla2);


#comparas los nombres

if($consulta_tabla_1[nombre] == $consulta_tabla_2[nombre] )
{
#hacer lo que quieres...
}
?>

aqui lo que pasa es que vas a hacer 2 consulas...

el formulario lo puedes enviar por metodo get o post.... luego si es post el codigo que escribi cambia en la parte de la variable $nombreurl.....

y el resto creo que es simple porque ya lo tienes.... luego lo que haces es hacer un codigo para insertar el valor a la tabla despues de verificar si son iguales... eso va dentro del condicional.....
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)

Última edición por horusorion; 19/11/2013 a las 21:43
  #9 (permalink)  
Antiguo 19/11/2013, 21:49
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Comparar 2 tablas

no se si hagas la conexion a la base de datos igual que yo... pero seria asi...

Código PHP:
Ver original
  1. <?php
  2. $bd = "redsocial";
  3. $cbd = mysql_pconnect("servidor", "usuario", "clave") or trigger_error(mysql_error(), E_USER_ERROR);
  4.  
  5.  
  6.  
  7. ?>
  8. <?php
  9. if (!isset($_SESSION)) {
  10.     session_start();
  11. }
  12.  ?>

luego donde dice
Código PHP:
Ver original
  1. mysql_select_db("BASE DE DATOS", "CONEXION A LA BASE DE DATOS");
quedara asi!!!
Código PHP:
Ver original
  1. mysql_select_db("$bd", "$cbd");

y donde dice
Código PHP:
Ver original
  1. $tabla1 = mysql_query($consulta_tabla1, "CONEXION A LA BASE DE DATOS""CONEXION A LA BASE DE DATOS") or die(mysql_error());

quedara asi....
Código PHP:
Ver original
  1. $tabla1 = mysql_query($consulta_tabla1, "$cbd") or die(mysql_error());
igual para la tabla 2......
espero haberte podido ayudar....
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #10 (permalink)  
Antiguo 19/11/2013, 21:53
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Comparar 2 tablas

ah lamento haber puesto una cita.... me equivoque y no lo pude editar... jejejeje
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)

Etiquetas: tabla, tablas
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 09:06.