Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/09/2014, 15:51
jucuegas
 
Fecha de Ingreso: enero-2006
Ubicación: Valencia
Mensajes: 96
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Buscar coincidencias

Resumo lo que hago, a ver si se entiende.
1.- extraigo las categorias del proyecto
2.- con un for las recorro
3.- busco los usuarios que cumplen con cada categoria
4.- actualizo la tabla paralela de usuario que he creado previamente con el contador de categorias

Código PHP:
// CATEGORIAS  *********************************
$categoria $row_proyecto['categoriasproyecto']; // listado de categorias en un campo, del tipo: id1,id2,id14,id23
$categoriaoferta explode(",",$categoria);        // separo las categorias
for ($j=0;$j<count($categoriaoferta);$j++)         // bucle para recorrer cada categorias sobre los usuarios
{
    
mysql_select_db($database_basedatos$basedatos);
    
// busco todos los usuarios que cumplen con la categoria a buscar
    
$query_usuarios "SELECT * FROM usuarios WHERE categoriasusuario LIKE '%$categoriaoferta[$j]%'";
    
$usuarios mysql_query($query_usuarios$basedatos) or die(mysql_error());
    
$row_usuarios mysql_fetch_assoc($usuarios);

    do {
        
// previamente he metido a todos los usuarios en la tabla tabla_usuarios_categorias
        // y ahora actualizo los usuario que cumplen tienen esa categoria, sumo +1 al contador numerocategorias e introduzco el id de la categoria en idcategorias.
        
$updateSQL "UPDATE tabla_usuarios_categorias SET numerocategorias=numerocategorias+1, idcategorias=CONCAT(idcategorias, '$categoriaoferta[$j],') WHERE idusuario=$usuarios[idusurio]";
        
mysql_select_db($database_basedatos$basedatos);
        
$Result1 mysql_query($updateSQL$basedatos) or die(mysql_error());
        } while (
$row_usuarios mysql_fetch_assoc($usuarios));
        
}    
// fin de for ($j=0;$j<count($categoriaoferta);$j++)