Subversion-Projekte lars-tiefland.php_share

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
        function search($search,$limitStart, $limitCount)
        {
                $databuffer=array
                (
                        "gesCount"              =>      0,
                        "limitStart"    =>      $limitStart,
                        "data"                  =>      array()
                );
                $search = strip_tags($search);
                
                $sBuffer=explode(" ",$search);
                $s_elements = array();

                foreach($sBuffer as $s_element)
                {
                        if (strlen($s_element) > 0)
                        {
                                $s_elements[]="
                                (
                                        (artikel.kurzbezeichnung like '%$s_element%')
                                        OR
                                        (artikel.beschreibung like '%$s_element%')
                                        OR
                                        (artikel.kennung like '$s_element%')
                                )
                                ";
                                
                                $order_aux[] = " sign(locate(lcase('$s_element'),lcase(artikel.kurzbezeichnung))) ";
                        }
                }
                // Volltreffer in der Kennung registrieren
                $order_aux[] = " find_in_set(artikel.kennung, '$search') ";

                $s_elements=implode(" AND ",$s_elements);
                $order_aux=implode(" + ",$order_aux);

                $query="
                        SELECT DISTINCT
                                'artikel'                       as tab,
                                artikel.ID                      as ID,
                                artikel.language        as language,
                                'item'                          as template,
                                ''                                      as wort,
                                $order_aux                      as ranking
                        FROM
                                artikel,directory 
                        WHERE
                                        artikel.Father = directory.ID
                                AND
                                        (artikel.status=0 and artikel.language='".$_SESSION['INI']['language']."')
                                AND
                                        (directory.status=0 and directory.language='".$_SESSION['INI']['language']."')
                                AND
                                        $s_elements
                        HAVING
                                ranking > 0
                        ORDER BY
                                ranking DESC
                ";

                $queryLimit=
                "
                        limit
                                $limitStart, $limitCount
                ";

                $result = mysql_query ($query) or die  (basename(__FILE__).":".__LINE__."<br />".mysql_errno().": ".mysql_error()."<hr>".nl2br($query)."<hr>");
                                                        
                $databuffer['gesCount'] = mysql_num_rows($result);
                
                $query.=$queryLimit;
                $result = mysql_query ($query) or die  (basename(__FILE__)." Zeile:".__LINE__."<br />".mysql_errno().": ".mysql_error()."<hr>".nl2br($query)."<hr>");
                                                        
                while($zeile=mysql_fetch_assoc($result))
                {
                        $databuffer['data'][]=$zeile;
                }

                return $databuffer;
        }
?>