Foros del Web » Programando para Internet » PHP »

Comparacion de tablas

Estas en el tema de Comparacion de tablas en el foro de PHP en Foros del Web. Hola, Necesito algo un poco extraño para un trabajo, vereis tengo dos tablas que pueden compartir algunos valores, por ejemplo. Tabla 1 (ID | NOMBRE) ...
  #1 (permalink)  
Antiguo 23/01/2009, 11:44
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Comparacion de tablas

Hola,

Necesito algo un poco extraño para un trabajo, vereis tengo dos tablas que pueden compartir algunos valores, por ejemplo.

Tabla 1 (ID | NOMBRE)
¨¨¨¨¨¨¨¨¨¨¨¨¨¨
1 | Naranja
2 | Rojo
3 | Verde
4 | Negro
5 | Violeta


Tabla 2 (ID | NOMBRE)
¨¨¨¨¨¨¨¨¨¨¨¨¨¨
1 | Rojo
2 | Naranja
3 | Verde
4 | Blanco
5 | Violeta

EDITO: en este caso la coincidencia es del 60%: +10% Rojo, +10% Naranja, +20% Verde, +20% Violeta


Por más que lo he mirado no veo una forma sencilla de comparar las tablas, quiero saber el porcentaje de similitudes que tienen pero no se como. Hay 5 en cada tabla, si los 5 están en el mismo lugar y con el mismo nombre suman 100%, es decir:
Misma ID y Nombre en ambas tablas: sumar 20%
Solo mismo Nombre en ambas tablas: sumar 10%


No se si me explico...
  #2 (permalink)  
Antiguo 23/01/2009, 11:57
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparacion de tablas

Tendrías que hacer 2 consultas y extraer todo el contenido de ambas tablas, y guardarlas en un array. Luego, recorres un array y vas comparando (con ifs) en el otro. La idea básica es esta:

Código PHP:
$tabla1 = array(
    
=> 'Naranja' 
    
=> 'Rojo'
    
=> 'Verde'
    
=> 'Negro'
    
=> 'Violeta'
)

$tabla2 = array(
    
=> 'Rojo'
    
=> 'Naranja'
    
=> 'Verde'
    
=> 'Blanco'
    
=> 'Violeta'
)

foreach(
$tabla1 as $k=>$v) {
    if(
$tabla2[$k] == $v) {
        
// 20%
    
} elseif(in_array($v$tabla2)) {
        
// 10%
    
}

Debes idear una manera de sumar los porcentajes (no tan dificil, no?). No lo he probado, pero imagino da igual cuál array uses de base.

  #3 (permalink)  
Antiguo 23/01/2009, 11:59
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Comparacion de tablas

pues nose cual sea la duda pero pues lo que yo haria seria agarrar los valores y en el while o for pongo 3 if para comparar si coiciden los 2 otro para ver si nadamas es uno y el otro ninguno con una variable que se llame porcentaje que se vaia sumando en cada if ps en el primero 20 en el 2do if ps 10 y ps en el otro nada y ya al finalisar el ciclo ps ya me quedaria el resultado de la variable de porcentaje
  #4 (permalink)  
Antiguo 23/01/2009, 15:59
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparacion de tablas

Joe, la verdad cuando me lo he releido parecía más sencillo que el cacao mental que me había montado yo solito.

Vale ya lo tengo mucho mas claro, para que os hagais una idea estaba intentando hacer una consulta con un INTERSECT y luego filtrar los resultados dandoles más o menos peso, pero es mucho mas facil de la forma clásica xDDDD estoy un poco en la parra.

Gracias !!!
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:05.