Ayuda! problema con codigo php

Events happening in the community are now at Drupal community events on www.drupal.org.
r_e_m's picture

Hola chicos!

Tengo que hacer una vista pero tengo que filtrarla por un argumento que es el numero de los proyectos a los que pertenece el usuario.
Os copio el código:

global $user;
$uid=$user->uid;

$result=db_query("select field_id_proyecto_value from content_type_proyecto where field_responsable_uid='$uid';");
$num_proyecto=db_result($result,0,0);

return $num_proyecto;

Este código me funciona en parte, porque me devuelve sólo uno de los proyectos a los que pertenece el usuario, no a todos.

¿Cómo puedo modificarlo para que me devuelva todos los valores?

Comments

Debes de iterar

edipotrebol's picture

Para empezar debes de iterar. db_result te devuelve solo un valor de los obtenidos en tu consulta sql. Hay que meterlo en una sentencia while (por ejemplo) y hasta que no te devuelva null seguir iterando.
Yo normalmente uso db_fetch_array o db_fetch_object para asi ir iterando y obtenerlos todos ya sea en formato tabla o objeto.

/**
* Pablo Martín Muñoz
* Open SOurce Architect & Data Scientist
* http://edipotrebol.es
**/

He cambiado el código

r_e_m's picture

He cambiado el código por:

global $user;
$uid=$user->uid;
$nums_proyecto=array();

$result=db_query("select field_id_proyecto_value from content_type_proyecto where field_responsable_uid='$uid';");
while ($my_row = db_fetch_array($result))
{
$nums_proyecto[] = $my_row['field_id_proyecto_value'];
}

$nums_proyecto;

que ya si itera, pero es como si no puedese devolverle a un argumento un array. Sólo me coge el primer valor de nums_proyecto.
Entonces si yo defino un argument en views sólo puede tener un valor? no puedo pasarle como argumento un php que me devuelva varios valores???

Ni ideaq con las vistas...

edipotrebol's picture

Ni idea con las vistas.
Lo que si te digo es que esa es la forma de hacerlo. Ahora, si las vistas como argumentos admiten más o menos valores...
En mi opinión, las vistas no siempre facilitan las cosas ;)

/**
* Pablo Martín Muñoz
* Open SOurce Architect & Data Scientist
* http://edipotrebol.es
**/

algunas cosas que tienes que

mgzrobles's picture

algunas cosas que tienes que tener en cuenta para tus consultas http://drupal.org/node/2497

Lo que tienes que hacer con tu view, no es pasarle un argumento que te saques de esa consulta, si no que tienes que hacer o bien programarte un argumento que se integre en el api de views, o bien un filtro que se integre en el api de views.
Tendrás que hacerte tu módulo donde lleves esa lógica y luego en la administración de la view pues añadir ese filtro o argumento que hayas programado.

Martín González Robles
web: http://elsabrosista.com
email: martin.glez.robles@gmail.com
Unidad sobre OG para Drupal 7: http://www.forcontu.com/descarga/d7u66pdf

Spanish

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: