Search within a search within a search

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Rachelle

    #1

    Search within a search within a search

    I'm having some trouble with the search field that i am setting up
    using PHP and HTML, I am connecting to a database to return proper
    information pertaining to something being searched. I originally set
    up a search to work like this :

    $SQL = "
    select id,
    name
    from repository
    where upper(name) like upper('%$search %')
    ";
    $Result=SubmitQ uery($db,$SQL);
    while (OCIFetch($Resu lt)) {
    $repo_id = OCIResult($Resu lt,"ID");
    $name = OCIResult($Resu lt,"NAME");
    echo"

    and display the results accordingly, This was one teer of the
    searching, the database would then search modules and files just as
    seen above, but I ran into the problem where the correct values are not
    being passed, so it was searching all repositories, then all modules,
    then all files.... is it possible to search like this:

    Repository #1
    ---Module #1 in Repo#1
    ------files in Module #1
    ---Module #2 in Repo #1
    ------files in Module #2 Repo #1
    etc.\
    \\
    \\
    \\
    Repository #2
    --Module #1 in Repo #2
    etc......

    is this possible to do a search under a search under a search with SQL
    PHP?????

  • Pedro Graca

    #2
    Re: Search within a search within a search

    Rachelle wrote:
    <snip>[color=blue]
    > is it possible to search like this:
    >
    > Repository #1
    > ---Module #1 in Repo#1
    > ------files in Module #1
    > ---Module #2 in Repo #1
    > ------files in Module #2 Repo #1
    > etc.\
    > \\
    > \\
    > \\
    > Repository #2
    > --Module #1 in Repo #2
    > etc......
    >
    > is this possible to do a search under a search under a search with SQL
    > PHP?????[/color]

    SELECT not tested:

    select <fields>
    from repository r
    join module m on r.rep_id = m.rep_id
    join file f on m.mod_id = f.mod_id
    where <conditions>
    order by <whatever>
    limit <something>

    With this you'll get something like

    rep_id | rep_name | mod_id | mod_name | file_id | file_name | ...
    -------+----------+--------+----------+---------+-----------+----
    1 | master | 1 | test | 1 | test.php | ...
    1 | master | 1 | test | 2 | echo.php | ...
    1 | master | 2 | environ | 3 | data.php | ...
    2 | slave | 3 | listen | 4 | open.php | ...
    ....



    Then use PHP to format the data however you like best :-)
    Maybe putting it all in an array first will make it easier to format as
    you need.

    --
    If you're posting through Google read <http://cfaj.freeshell. org/google>

    Comment

    Working...