<?php
 
 
class OdbcSearch
 
{
 
    // description: Search-component, can search with one simple sql-query.
 
    // version:     1.4
 
    // history:     14-04-2002 v1.0 release
 
    //              04-05-2002 v1.1 jumppage_table
 
    //              06-11-2002 v1.2 jump_table removed, extra href-param added
 
    //              13-11-2002 v1.3 outputcount added, multiple searchwords added
 
    //              05-08-2003 v1.4 one result redirect
 
    //              03-12-2003 v1.5 SQLExpansion
 
    
 
    var $Connection;
 
    var $Trefwoord;
 
    var $ColumnArray = array();                // Holds the columns to search (use AddColumn)
 
    var $Font_face = "Arial,Helvetica";
 
    var $Font_size = 2;
 
    var $CategoryVar = "gevonden in ";
 
    var $SubCategoryVar = ",";
 
    var $OutputCounter = 0;
 
 
    function OdbcSearch($Trefwoord)
 
    {
 
        $this->Trefwoord = $Trefwoord;
 
    }
 
 
    function Show()
 
    {
 
        // Trefwoorden ontleden
 
        $Woordenlijst = explode(" ",$this->Trefwoord);
 
        for ($j = 0; $j < count($Woordenlijst); $j++)
 
        {    
 
            if ($Woordenlijst[$j] != "")
 
            {
 
                for ($i = 0; $i < count($this->ColumnArray); $i++)
 
                {
 
                    // Maak query met array-waarden
 
                    if ($this->ColumnArray[$i][4] != "") $ExtraSQL = ",".$this->ColumnArray[$i][4];
 
                    $query = "select ".$this->ColumnArray[$i][2].",".$this->ColumnArray[$i][1].$ExtraSQL." from ".$this->ColumnArray[$i][0]." where ".$this->ColumnArray[$i][1]." like '%".$Woordenlijst[$j]."%'".$this->ColumnArray[$i][5];
 
                    $result = odbc_exec($this->Connection,$query);
 
 
                    // Output
 
                    print"<font face=".$this->Font_face." size=".$this->Font_size.">";
 
                    while(odbc_fetch_row($result))
 
                    {
 
                        // Haal database velden
 
                        $showstring = odbc_result($result,$this->ColumnArray[$i][1]);
 
                        $send_id = odbc_result($result,$this->ColumnArray[$i][2]);
 
 
                        // Zoek trefwoord in gevonden string nu met PHP ipv SQL-like.
 
                        $upstring = strtoupper($showstring);
 
                        $uptrefwoord = strtoupper($this->Trefwoord);
 
                        $pos = strpos($upstring,$uptrefwoord);
 
                        $deelshowstring = substr($showstring,$pos,20);
 
 
                        // Maak totale output-string met HREF
 
                        if ($this->ColumnArray[$i][4] != "") $extrastring = odbc_result($result,$this->ColumnArray[$i][4]);
 
                        print $extrastring." ";
 
                        print "<a href=".$this->ColumnArray[$i][3].$send_id.">".$deelshowstring."</a> ".$this->CategoryVar.$this->ColumnArray[$i][0].$this->SubCategoryVar.$this->ColumnArray[$i][1]."<br>";
 
                        print"<br>";
 
                        $this->OutputCounter++;            // Verhoog gevonden-items-teller.
 
                    }
 
                    print "</font>";
 
                }
 
            }
 
        }
 
        // Automatically to URL with only one result.
 
        
 
        /*if ($this->OutputCounter == 1)
 
        {
 
            print"<script language=\"javascript\">\n";
 
            print"top.location.href = \"".$this->ColumnArray[0][3].$send_id."\";\n";
 
            print"</script>\n";
 
        }*/
 
    }
 
 
    function AddColumn($Table,$ColumnToAdd,$ID_Column,$JumpToPage,$ExtraShowColumn = "",$SQLExpansion = "")
 
    {
 
        array_push($this->ColumnArray,array($Table,$ColumnToAdd,$ID_Column,$JumpToPage,$ExtraShowColumn,$SQLExpansion));
 
    }
 
}
 
 
 
?>
 
 
 |