Subversion-Projekte lars-tiefland.php_share

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
/*
        Query um die Suchbegriffe eines bestimmten Artikel abzufragen
        select
                wort
        from
                such_quelle_to_such_woerter,
                such_woerter,
                such_quelle
        where
                such_quelle.quickSearch = '1'
        and
                such_quelle.ID = such_quelle_to_such_woerter.such_quelle_ID
        and
                such_quelle_to_such_woerter.such_woerter_ID = such_woerter.ID
        and
                such_quelle_to_such_woerter.quelle_language = 'DE'
        and
                such_quelle_to_such_woerter.quelle_ID = 5414
*/
        function quickSearch($search,$limitStart, $limitCount)
        {
                function checkParamLength($var) {return strlen($var) > 1;}

                $databuffer=array
                (
                        "gesCount"              =>      0,
                        "limitStart"    =>      $limitStart,
                        "data"                  =>      array()
                );
                $sBuffer = array_filter
                                        (
                                                explode(" ",$search),
                                                "checkParamLength"
                                        );
                
                $sBuffer = preg_replace
                (
                        array("/[^A-Za-zÄÖÜäöüß0-9,]/"),
                        array(""),
                        $sBuffer,
                        -1
                );
                
                //pre($sBuffer);

                $query="
                        select
                                quelle_tab as tab,
                                quelle_feldname as col,
                                quelle_ID as ID,
                                quelle_language as language,
                                template,
                                such_woerter.wort,
                                avg(rang) as ranking,
                                count(*) as ges
                        from
                                such_quelle,
                                such_quelle_to_such_woerter,
                                such_woerter
                        where
                        (
                                such_woerter.wort like '%".implode("%' or such_woerter.wort like '%",$sBuffer)."%'
                        )
                        and
                                such_quelle_to_such_woerter.such_quelle_ID = such_quelle.ID
                        and 
                                such_quelle_to_such_woerter.such_woerter_ID = such_woerter.ID
                        and 
                                such_quelle.quickSearch = '1'
                        and
                                quelle_language = '".$_SESSION['INI']['language']."'
                        group by
                                1,2,3,4
                        having  
                                ges >= ".count($sBuffer)."
                        order by
                                ranking
                ";

                //pre($query);
                $queryLimit=
                "
                        limit
                                $limitStart, $limitCount
                ";
                $result = mysql_query ($query) or die 
                                                        (
                                                                mysql_errno().
                                                                ": ".
                                                                mysql_error().
                                                                "<hr>".
                                                                pre($query).
                                                                "<hr>"
                                                        );
                                                        
                $databuffer['gesCount'] = mysql_num_rows($result);
                
                $query.=$queryLimit;
                $result = mysql_query ($query) or die 
                                                        (
                                                                mysql_errno().
                                                                ": ".
                                                                mysql_error().
                                                                "<hr>".
                                                                pre($query).
                                                                "<hr>"
                                                        );
                                                        
                while($zeile=mysql_fetch_assoc($result))
                {
                        $databuffer['data'][]=$zeile;
                }

                return $databuffer;
        }
?>