Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?
2
/*
3
	Query um die Suchbegriffe eines bestimmten Artikel abzufragen
4
	select
5
		wort
6
	from
7
		such_quelle_to_such_woerter,
8
		such_woerter,
9
		such_quelle
10
	where
11
		such_quelle.quickSearch = '1'
12
	and
13
		such_quelle.ID = such_quelle_to_such_woerter.such_quelle_ID
14
	and
15
		such_quelle_to_such_woerter.such_woerter_ID = such_woerter.ID
16
	and
17
		such_quelle_to_such_woerter.quelle_language = 'DE'
18
	and
19
		such_quelle_to_such_woerter.quelle_ID = 5414
20
*/
21
	function quickSearch($search,$limitStart, $limitCount)
22
	{
23
		function checkParamLength($var) {return strlen($var) > 1;}
24
 
25
		$databuffer=array
26
		(
27
			"gesCount"		=>	0,
28
			"limitStart"	=>	$limitStart,
29
			"data"			=>	array()
30
		);
31
		$sBuffer = array_filter
32
					(
33
						explode(" ",$search),
34
						"checkParamLength"
35
					);
36
 
37
		$sBuffer = preg_replace
38
		(
39
			array("/[^A-Za-zÄÖÜäöüß0-9,]/"),
40
			array(""),
41
			$sBuffer,
42
			-1
43
		);
44
 
45
		//pre($sBuffer);
46
 
47
		$query="
48
			select
49
				quelle_tab as tab,
50
				quelle_feldname as col,
51
				quelle_ID as ID,
52
				quelle_language as language,
53
				template,
54
				such_woerter.wort,
55
				avg(rang) as ranking,
56
				count(*) as ges
57
			from
58
				such_quelle,
59
				such_quelle_to_such_woerter,
60
				such_woerter
61
			where
62
			(
63
				such_woerter.wort like '%".implode("%' or such_woerter.wort like '%",$sBuffer)."%'
64
			)
65
			and
66
				such_quelle_to_such_woerter.such_quelle_ID = such_quelle.ID
67
			and
68
				such_quelle_to_such_woerter.such_woerter_ID = such_woerter.ID
69
			and
70
				such_quelle.quickSearch = '1'
71
			and
72
				quelle_language = '".$_SESSION['INI']['language']."'
73
			group by
74
				1,2,3,4
75
			having
76
				ges >= ".count($sBuffer)."
77
			order by
78
				ranking
79
		";
80
 
81
		//pre($query);
82
		$queryLimit=
83
		"
84
			limit
85
				$limitStart, $limitCount
86
		";
87
		$result = mysql_query ($query) or die
88
							(
89
								mysql_errno().
90
								": ".
91
								mysql_error().
92
								"<hr>".
93
								pre($query).
94
								"<hr>"
95
							);
96
 
97
		$databuffer['gesCount'] = mysql_num_rows($result);
98
 
99
		$query.=$queryLimit;
100
		$result = mysql_query ($query) or die
101
							(
102
								mysql_errno().
103
								": ".
104
								mysql_error().
105
								"<hr>".
106
								pre($query).
107
								"<hr>"
108
							);
109
 
110
		while($zeile=mysql_fetch_assoc($result))
111
		{
112
			$databuffer['data'][]=$zeile;
113
		}
114
 
115
		return $databuffer;
116
	}
117
?>