Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?
2
	function search($search,$limitStart, $limitCount)
3
	{
4
		$databuffer=array
5
		(
6
			"gesCount"		=>	0,
7
			"limitStart"	=>	$limitStart,
8
			"data"			=>	array()
9
		);
10
		$search = strip_tags($search);
11
 
12
		$sBuffer=explode(" ",$search);
13
		$s_elements = array();
14
 
15
		foreach($sBuffer as $s_element)
16
		{
17
			if (strlen($s_element) > 0)
18
			{
19
				$s_elements[]="
20
				(
21
					(artikel.kurzbezeichnung like '%$s_element%')
22
					OR
23
					(artikel.beschreibung like '%$s_element%')
24
					OR
25
					(artikel.kennung like '$s_element%')
26
				)
27
				";
28
 
29
				$order_aux[] = " sign(locate(lcase('$s_element'),lcase(artikel.kurzbezeichnung))) ";
30
			}
31
		}
32
		// Volltreffer in der Kennung registrieren
33
		$order_aux[] = " find_in_set(artikel.kennung, '$search') ";
34
 
35
		$s_elements=implode(" AND ",$s_elements);
36
		$order_aux=implode(" + ",$order_aux);
37
 
38
		$query="
39
			SELECT DISTINCT
40
				'artikel'			as tab,
41
				artikel.ID			as ID,
42
				artikel.language	as language,
43
				'item'				as template,
44
				''					as wort,
45
				$order_aux			as ranking
46
			FROM
47
				artikel,directory
48
			WHERE
49
					artikel.Father = directory.ID
50
				AND
51
					(artikel.status=0 and artikel.language='".$_SESSION['INI']['language']."')
52
				AND
53
					(directory.status=0 and directory.language='".$_SESSION['INI']['language']."')
54
				AND
55
					$s_elements
56
			HAVING
57
				ranking > 0
58
			ORDER BY
59
				ranking DESC
60
		";
61
 
62
		$queryLimit=
63
		"
64
			limit
65
				$limitStart, $limitCount
66
		";
67
 
68
		$result = mysql_query ($query) or die  (basename(__FILE__).":".__LINE__."<br />".mysql_errno().": ".mysql_error()."<hr>".nl2br($query)."<hr>");
69
 
70
		$databuffer['gesCount'] = mysql_num_rows($result);
71
 
72
		$query.=$queryLimit;
73
		$result = mysql_query ($query) or die  (basename(__FILE__)." Zeile:".__LINE__."<br />".mysql_errno().": ".mysql_error()."<hr>".nl2br($query)."<hr>");
74
 
75
		while($zeile=mysql_fetch_assoc($result))
76
		{
77
			$databuffer['data'][]=$zeile;
78
		}
79
 
80
		return $databuffer;
81
	}
82
?>