BP Profile Search
How to search multiple words per field? Will pay $$$ for help :) (4 posts)

  1. SeidonBro
    Posted 4 years ago #


    Firstly, I want to say what an amazing plugin this is! Thank you so much for developing it!

    I have a problem that I hope you can help with.

    I have a profile field (text box) called 'Interests' where people can add as many words (interests) as they like.

    The issue I'm having is that I can ONLY search one word / Interest at a time - for example, if I search the term 'Art' it will only find people interested in Art.

    The problem for me is that if I search 'Art Surfing' - instead of picking everyone who is interested in Art and everyone who is interested in Surfing, it doesn't pick up anyone at all.

    Is there a way around this?

    So if I type in 'Art Surfing' I find people who have entered the word 'Art' as well as the people who have entered the word 'Surfing'.

    I would very much appreciate some assistance! :)

    I have an ok knowledge of hacking code but despite my efforts, I can't quite get it to work.


  2. SeidonBro
    Posted 4 years ago #


    With what I'm building, I'm going to be setting the 'values' MANUALLY - the user will not be able to enter search terms, they will be pre-chosen for them.

    I know the problem is with the way the search specifies the value:

    (Beginning line 107 in bps_functions.php)

    case 'textbox':
    case 'textarea':
    $sql = "SELECT user_id from {$bp->profile->table_name_data}";
    if ($bps_options['searchmode'] == 'Partial Match')
        $sql .= " WHERE field_id = $id AND value LIKE '%%$value%%'";
        $sql .= " WHERE field_id = $id AND value LIKE '$value'";

    Basically, all I need to do is get the search to recognise multiple, individual 'values' from a single field...

  3. SeidonBro
    Posted 4 years ago #

    I've tried adding multiple values in manually here:

    (starting line 75 bps_searchform.php)

    case 'textbox':
    echo "
    <label for='$field_input_name'>$field->name</label>
    <input type='text' name='$field_input_name' id='$field_input_name' value='surfing'/>

    This works great for searching SINGLE values but all I really need to do is add a second value and make the search look for either:

    Value(1) or Value(2)

  4. TheFreeWorld
    Posted 3 years ago #

    If you figure this out I would be grateful to hear about it i'd like to put that feature on my page here.


Topic Closed

This topic has been closed to new replies.

About this Plugin

  • BP Profile Search
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic


No tags yet.