Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2006, 10:20
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Problema con buscardor en dos tablas!!!

Hola

Tengo un problema con un buscador de resultado, éste tiene que buscar en dos tablas, ambas relacionadas.

Este problema lo solucioné facilmente con subquerys, pero al subir el script al hosting me percaté que el mysql del servidor es version 4.0.xx, razon el cual no soporta "Subquerys".

Dada ésta situación tengo que hacer ésto mediante php, pero no he podido dar con la solución

Haber si me pueden ayudar, la situacion es la siguiente:

Son dos tablas la de usuario (usuario es unico) y la tabla de experiencia laboral (el usuario puede tener mas de una experiencia laboral).

Tabla usuario:
id ( Lave primaria )
nombre
mail
password
etc...

Tabla Experiencia Laboral:

id_exp ( Lave primaria )
id_usuario` int(5) ( Llave estrangera de tabla usuarios)
nombre_empresa
cargo_empresa
fecha_inicio
fecha_fin
actual_cargo
descripcion_cargo

la idea es tener un join entre ambas tablas, pero que de la tabla experiencia laboral me entregue solo una experiencia laboral, que sea la última, ésto mediante mysql, solo lo pude hacer con subquerys(pero el hostin no lo soportó).

Ya que si en el buscador ingreso el nombre del usuario me va a repetir tantas veces el usuario como experiencias tenga y la idea es que solo me muetre ese usuario con su última experiencia laboral, pero a su vez que tambien busque en la tabla experiencia laboral, es decir tiene que buscar en ambas tablas y traerme el resultado del usuario y su ultima experiencia laboral ya sea que la palabra la encontró en la tabla del usuario o en su experiencia laboral.

Por el momento tengo lo siguente, pero el drama es que no me busca dentro de la experiencia laboral.

Código PHP:
    $search_query 'WHERE (us.nombre_usuario LIKE "%' $palabra_clave '%" OR us.apaterno_usuario LIKE "%' $palabra_clave '%" OR us.amaterno_usuario LIKE "%' $palabra_clave '%") ';

    
$result_busqueda_usuario mysql_query('SELECT     us.* FROM posters us '                                            
                    
$search_query .'order by id') or die (mysql_error());
                    
    
$busqueda_usuario = array();
    while(
$row mysql_fetch_assoc($result_busqueda_usuario))
    {
                    
$busqueda_usuario $row;
                            
    
$result_busqueda_exp_laboral mysql_query('SELECT     pel.* FROM prof_exp_laboral pel '                    
                    
.'WHERE id_usuario = \'' $busqueda_usuario['id'] . '\' ORDER BY id_exp DESC LIMIT 0,1') or die (mysql_error());

                    
$busqueda_exp_laboral = array();
                    
                    while(
$row mysql_fetch_assoc($result_busqueda_exp_laboral))
                    { 
                    
//aqui muestro el resultado
                    

solo busca en la tabla usuario, con eso obtendo el id del usuario y obtengo su experiencia laboral en un query separado y no se como buscar en ambas y muestre al usuario con su última experiencia laboral, ya sea que lo haya encontrado en la tabla usuario o en la de experiencia(que busque en el registro de la última experiencia).

espero haberme entendido bien.

Gracias. y saludos.


zsamer