Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Listado de usuarios con condiciones

Estas en el tema de Listado de usuarios con condiciones en el foro de Drupal en Foros del Web. Buenas estoy intentando conseguir algo de este estilo $users = entity_load('user'); $user_names = array(); foreach ($users as $user_id => $user) { $user_names[] = $user->name; } ...
  #1 (permalink)  
Antiguo 27/08/2013, 00:57
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 37
Antigüedad: 6 años, 3 meses
Puntos: 0
Listado de usuarios con condiciones

Buenas estoy intentando conseguir algo de este estilo

$users = entity_load('user');
$user_names = array();
foreach ($users as $user_id => $user) {
$user_names[] = $user->name;
}

lo cual lo saque de aqui:
http://stackoverflow.com/questions/8455671/getting-list-of-users-in-drupal-7-using-php

esto me va de fabula, lo que querria es poder meter alguna condicion, filtrar por campos del usuario, pero no por los campos predefinidos del usuario si no por los que defini yo, mas concretamente por un campo llamado provincia desde drupal lo veo como field_provincia.
haciendo uso de otros ejemplos que hay en esa pagina como:
$query = new EntityFieldQuery();
$query->entityCondition('user', 'u')
->fieldCondition('field_provincia', 'value', 'Madrid', '=')
->propertyCondition('uid ', '1')
->range(0,15)
->execute();

me da error me dice que la columna field_provincia no existe, la verdad es que esto me trae de cabeza, alguna sugerencia??

un saludo y gracias de antemano
  #2 (permalink)  
Antiguo 27/08/2013, 02:09
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 8 años, 9 meses
Puntos: 265
Respuesta: Listado de usuarios con condiciones

Cómo has definido el campo provincia? Es un campo de profile o lo creaste vos a mano?

Por otro lado te pregunto por qué hiciste así la query y no usaste views, podría haberte facilitado mucho el trabajo.

Saludos.
__________________
Mi web personal
  #3 (permalink)  
Antiguo 27/08/2013, 03:13
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 37
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Listado de usuarios con condiciones

Es un campo de profile
Lo hago asi por que estoy haciendo un ranking de usuarios, y debo ordenar por puntuaciones, ademas necesito filtrar por usuarios de una misma provincia; una vez hecho eso he de calcular la diferencia de puntos que hay al que va por encima y por debajo
  #4 (permalink)  
Antiguo 27/08/2013, 09:37
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 8 años, 9 meses
Puntos: 265
Respuesta: Listado de usuarios con condiciones

La verdad no sabría cómo ayudarte ya que no trabajé mucho con eso, pero este enlace puede servirte: http://stackoverflow.com/questions/1...ds-in-drupal-7

Espero que así sea!

Saludos.
__________________
Mi web personal
  #5 (permalink)  
Antiguo 28/08/2013, 00:48
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 37
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Listado de usuarios con condiciones

Gracias Mario probare y te cuento
;)
  #6 (permalink)  
Antiguo 28/08/2013, 09:20
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 6 años, 1 mes
Puntos: 47
Respuesta: Listado de usuarios con condiciones

Hola, la verdad que no sé la respuesta de lo que preguntas, pero me tengo que poner entre hoy y mañana a solucionar algo que es muy parecido a lo tuyo, a ver si entre lo dos nos podemos apoyar y sacarlo adelante.
Estuve hace una par de semanas con ello y me desesperé un poco. A ver qué tal ahora.

Un saludo y suerte.
  #7 (permalink)  
Antiguo 12/09/2013, 05:30
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 37
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Listado de usuarios con condiciones

Lo logre con algo asi:

$sql = "SELECT p.uid, p.points
FROM {userpoints} p
LEFT JOIN {field_data_field_provincia} f
ON p.uid=f.entity_id
WHERE f.field_provincia_value = '". $provincia . "' ORDER BY p.points DESC";
$result = db_query_range($sql, 0, 1000);

$datos = array();
foreach ($result as $row) {
$datos[]= array("points"=>$row->points,"uid"=>$row->uid);
}

Etiquetas: campo, condiciones, filtrar, listado, usuario, 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 14:20.