[support] Passing multiple values into a single Views argument

Idan Arbel idan at arbel-designs.com
Sat Nov 20 15:23:30 UTC 2010


You can see that I cycle through the id's and add them to $args[0] and
return it. Similar to what you did, try changing the variable name to
$args[0].

for($i=1; $i<count($terms); $i++)
$args[0] = $args[0] ."+" .$terms[$i]; // replace the + with , if you want
and "And" action instead of "or"
}



From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
Behalf Of Neil Coghlan
Sent: Saturday, November 20, 2010 5:20 PM
To: support at drupal.org
Subject: Re: [support] Passing multiple values into a single Views argument

 

hmm, can't see how that would apply in my case. Maybe it does, but can't see
it.

bottom line: if an sql query returns 3 values, how do I get those 3 values
into a Views argument via "provide default argument"?

On 20/11/2010 10:30, Idan Arbel wrote: 

Take a look at this code I used for something similar:

 

if (arg(0) == 'node' && is_numeric(arg(1))) {
$node=node_load(arg(1));
$term = taxonomy_node_get_terms_by_vocabulary($node, 4); // 4 being the
vocabulary id
$terms = array_keys($term);
$args[0] = $terms[0];
for($i=1; $i<count($terms); $i++)
$args[0] = $args[0] ."+" .$terms[$i]; // replace the + with , if you want
and "And" action instead of "or"
}
return $args[0];

 

might help you out.


Idan

 

From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
Behalf Of Neil Coghlan
Sent: Saturday, November 20, 2010 3:25 PM
To: support at drupal.org
Subject: Re: [support] Passing multiple values into a single Views argument

 

Idan, I only just realised myself there was an "accept multiple arguments"
checkbox....without that, I never would get it working!

so...now with that checked, I still need to get the UID's passed in x,y,z or
x+y+z format.

On 20/11/2010 10:21, Idan Arbel wrote: 

if you want to view to take them into account as using "AND" then return
them like so: 12+32+34, if you want it to take them into account as or
return them as so 12,32,34. 

 

don't forget to check to box in the argument settings area to accept
multiple arguments

On Sat, Nov 20, 2010 at 3:14 PM, Neil Coghlan <neil at esl-lounge.com> wrote:

I have a view where I have selected User:uid as an argument and I am
using a sql query in the "Provide Default Argument" part. The problem
is, usually, the sql query is passing muliple UIDs back. How would I
pass all of them into the argument to be used by the view.

At the moment, the view is only taking the first one.

so, here is a simplified version of my php code:

global $user;
$result = db_query("SELECT node.uid FROM {node}
WHERE node.type = 'profile'");
$member = db_fetch_object($result);
return "$member->uid";

on my current db, this returns 3 UIDs...the view only takes the first one.

Thanks

Neil


--
[ Drupal support list | http://lists.drupal.org/ ]

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20101120/e0584d89/attachment.html 


More information about the support mailing list