powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Help suggest скрипт прилогается
12 сообщений из 12, страница 1 из 1
Help suggest скрипт прилогается
    #36108349
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Хочу привести листинг поиска в стиле Google. Сразу оговорюсь - идея не моя. Я только ее адаптировал под PostgreSQL.

index.php
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/commons.css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
</head>
<body>
<div style="margin:10px; padding:10px;">
<h1> Поиск как в Google </h1><hr>
<p style="MARGIN-TOP: 11px;">
 <form action="cse" id="cse-search-box">
  <div>Поиск:
    <input type="text" name="q" size="40"/>
    <input type="hidden" name="id" value="" />    
    <input type="submit" name="sa" value="Поиск" />
  </div>
</form></p>
<script type="text/javascript" src="js/suggest.js"></script></div>

</body>
</html>

find.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
<?php 
header("Content-Type: text/html; charset=utf-8");
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

$host = "localhost";
$user = "postgres";
$pass = "postgres";
$db = "usersdb";

$connection = pg_connect ("host=$host dbname=$db user=$user password=$pass");
if (!$connection)
{
die("Could not open connection to database server");
}


$q = addslashes($_GET["q"]);
$limit =  10 ;



if ($q) {

$query = "SELECT * FROM users WHERE word LIKE '$q%' LIMIT '$limit'"; 
$result = pg_query($connection, $query) or die("Error in query: $query. " . pg_last_error($connection));


   $results = array();

   while ($row = pg_fetch_assoc($result)) {

      $user = $row["user"];
      $id = $row["id"];

      $results[] = "$user:$id";

   }

   for($i= 0 ;$i<count($results);$i++){

	  $row_base = explode(":", $results[$i]);

	  $res = mb_strpos(mb_strtolower($row_base[ 0 ],"UTF-8"), mb_strtolower($_GET['q'],"UTF-8"));
	  if($res!==false&&$res== 0 ) {

	    $row_base[ 3 ] = trim($row_base[ 3 ]);

	  	print $row_base[ 0 ]."|".$row_base[ 1 ]."\n";

	  }
    }
}


pg_close($connection);
}

?>


suggest.js
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
jQuery.noConflict();

jQuery(document).ready(function(){


function liFormat (row, i, num) {

	var result = row[ 0 ] + '<p class=qnt>' + row[ 1 ] + '</p>';

	return result;

}

function selectItem(li) {

}

jQuery("#cse-search-box input[name='q']").autocomplete("find.php", {

	delay: 15 ,

	minChars: 1 , // АШКН  2 

	matchSubset: 1 ,

	autoFill:true,

	matchContains: 1 ,

	cacheLength: 10 ,

	selectFirst:true,

	formatItem:liFormat,

	maxItemsToShow: 10 ,

	onItemSelect:selectItem

}); 

});



commons.css
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
* {

    margin: 0 ;

    padding: 0 ;

}

html, body {

    background-color:#E2F2E2;

    font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif;

    font-size: 8pt;

}

.ac_results {

	padding: 0px;

	border: 1px solid WindowFrame;

	background-color: Window;

	overflow: hidden;

}



.ac_results ul {

	width:  100 %;

	list-style-position: outside;

	list-style: none;

	padding:  0 ;

	margin:  0 ;

}



.ac_results iframe {

	display:none;/*sorry for IE5*/

	display/**/:block;/*sorry for IE5*/

	position:absolute;

	top: 0 ;

	left: 0 ;

	z-index:- 1 ;

	filter:mask();

	width:3000px;

	height:3000px;

}



.ac_results li {

	position:relative;

    margin: 0px;

	padding: 2px 5px;

	cursor: pointer;

	display: block;

	width:  100 %;

	font: menu;

	font-size: 11px;

	overflow: hidden;

}



.ac_loading {

	background : Window url('autocomplete_indicator.gif') right center no-repeat;

}



.ac_over {

	background-color: Highlight;

	color: HighlightText;

}

#example {

  position:absolute;

  top:10px;

  left:10px;

  width:150px;

  font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif;

  font-size: 10pt;

}

#example2 {

  position:absolute;

  top:10px;

  left:170px;

  width:240px;

  font-family: "Trebuchet MS", Tahoma, Verdana, Arial, Helvetica, sans-serif;

  font-size: 10pt;

}

.qnt {

  position:absolute;

  top:2px;

  right:10px;

  font-size: 0 .8em;

  color:#26A908;

}


Есть еще два jquery* файла.

Вопрос таков:
В таблице хранятся два слолбца user и id.
Нужно, чтобы после поиска отправлялся не только user но и id <input type="hidden" name="id" value="" /> .
Как это сделать ума не приложу.
Помогите.

За ранее спасибо.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36108979
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно не через строчку, а через две, а то как-то забито все?
Непонятно, что и где отправляется на сервер. Если это внешняя библиотека, то надо указать какая - гадать не хочется.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36109118
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckА можно не через строчку, а через две, а то как-то забито все?

Прошу прощения, что так получилось.
IDVsbruck
Непонятно, что и где отправляется на сервер. Если это внешняя библиотека, то надо указать какая - гадать не хочется.
Я добавляю архив со всеми файлами (может кому пригодится).
Во время выпадания предлагаемого списка показываться и user и id - и это правильно :-).
Когда выбор сделан видно только user - и это тоже то, что нужно.
Но мне нужно, чтобы на сервер отправлялся не только user, но и в скрытом поле
Код: plaintext
<input type="hidden" name="id" value="" />  
на сервер отправлялся id .
Можно ли ето сделать? И как?

Всем за ранее спасибо за помощь.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36109120
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно архив.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36110345
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уж то никто не знает?
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36110375
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadНе уж то никто не знает?
Как тебе сказать... . Чтобы заработало, нужно установить jquery, какой-то suggest.js, пхп, постгеSQL... . Да и букаф много. Чего не работает-то?
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36110639
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeHunterNomadНе уж то никто не знает?
Как тебе сказать... . Чтобы заработало, нужно установить jquery, какой-то suggest.js, пхп, постгеSQL... . Да и букаф много. Чего не работает-то?

Все работает как в гуглевом поисковике. В моем случае с лево выводит список user, а с права его id. Когда необходимого user вібрать то в поле остается только user. Но мне нужно, чтобы при отправки выбранного, в скрытом поле отправлялся и id.
О как.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36110901
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу повторить свой вопрос: в стандартном jQuery нет функции autocomplete, значит, ты используешь плагин. Так вот, когда задаешь вопрос, касающийся какого-то плагина, надо хотя бы известить об этом общественность - не все используют плагины к фреймворкам.

На всякий случай в поисковике задал критерий поиска "jQuery autocomplete" на русском. Первая и вторая ссылки ответили на твой вопрос - читай внимательнее.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36111177
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckХочу повторить свой вопрос: в стандартном jQuery нет функции autocomplete, значит, ты используешь плагин. Так вот, когда задаешь вопрос, касающийся какого-то плагина, надо хотя бы известить об этом общественность - не все используют плагины к фреймворкам.

На всякий случай в поисковике задал критерий поиска "jQuery autocomplete" на русском. Первая и вторая ссылки ответили на твой вопрос - читай внимательнее.

Спасибо, я с этими ссылками уже работал. Почему то они не работают.
Я, к сожалению, не селен в javascript и потому не могу решить свою задачу самостоятельно. Все библиотеки (плагины - так будет правильно) я прикрепил в теме (см выше).
Если бы я нашел более практичный пример соответствующий моей задачи, то, думаю, я или сам ее решил или привел полны пример с просьбой помочь.

Все равно спасибо. Я еще раз пересмотрю Ваши ссылки. Это лучше чем никакой помощи вообще.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36112023
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge доступно объяснил, что надо делать с таким "набором" - на это мало кто пойдет.

Что каксается ссылок, то ответ бросается в глаза сразу:
"Список опций приведен ниже:
...
extraParams - дополнительные параметры, которые могут быть переданы на сервер."

Думаю, проблем указать что-то типа {col_user:user, col_id:id} не должно быть.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36112625
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckShSerge доступно объяснил, что надо делать с таким "набором" - на это мало кто пойдет.

Что каксается ссылок, то ответ бросается в глаза сразу:
"Список опций приведен ниже:
...
extraParams - дополнительные параметры, которые могут быть переданы на сервер."

Думаю, проблем указать что-то типа {col_user:user, col_id:id} не должно быть.
IDVsbruck 5+ :-)))
1. Выше я писал, что я почти не знаю javascript, а читать я умею. Даже на буржуйских форумах extraParams рассматривался. И ента фиговина не всегда работает (причина не понятна).
2. Я и не утверждал, что все с ентьими плагинами, библиотеками, ... работают. Просто форум - он на то и форум, чтобы на нем такие "чайники" как я задавали вопросы, а такие ... ну всякие "гуру" им помогали (учили уму разуму).
3. Ну очень мне эта система поиска нужна - без нее мне кирдык об леьарбоса. Так что буду далее носам землю рыть.
И если ни с этой х...овиной так с другой может повезет.

О как.
...
Рейтинг: 0 / 0
Help suggest скрипт прилогается
    #36112636
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот исходный архив, с которого у меня все начиналось (никаких SQL ставить ни надо) .
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Help suggest скрипт прилогается
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]