Я попытался сделать автозаполнение через плагин jquery.autocomplete.pack.js В примере вот такое вот сделано. Код | <!DOCTYPE html> <html lang="ru" > <head> <meta charset="utf-8" /> <title>Автозаполненние с помощью PHP, jQuery, MySQL и XML | Материалы сайта RUSELLER.COM</title>
<link href="css/jquery.autocomplete.css" rel="stylesheet" type="text/css" /> <link href="css/main.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery-1.5.2.min.js"></script> <script type="text/javascript" src="js/jquery.autocomplete.pack.js"></script> <script type="text/javascript" src="js/script.js"></script> </head> <body> <div class="container"> <form action="#"> <p><label>Месяц:</label> <input id="month" type="text" autocomplete="off"></p> <p><label>Год:</label> <input id="year" type="text" autocomplete="off"></p> <p><label>Страна:</label> <input id="country" type="text" autocomplete="off"></p> </form> </div> <footer> <h2>Автозаполненние с помощью PHP, jQuery, MySQL и XML</h2> <a href="http://www.ruseller.com" class="stuts" target="_blank">Материалы сайта <span>RUSELLER.COM</span></a> </footer> </body> </html>
|
У меня вот так. Код |
<div class="container"> <form method=POST id="FormSearch" action="searchcat.html"> <p> <label>Ключевое слово:</label> <input id="key_words" type="text" name="SsearchText" autocomplete="off" class="ac_input"> <input type="submit" class="button"> </p> </form> </div>
|
Код файла js/script.jsВот такой в примере. Код | $(function(){
$('#month').autocomplete(['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], { width: 200, max: 3 });
$('#year').autocomplete('data.php?mode=xml', { width: 200, max: 5 });
$('#country').autocomplete('data.php?mode=sql', { width: 200, max: 5 });
});
|
у меня Код | $(function(){ $('#key_words').autocomplete('правильный путь к файлу, проверял вручную', { width: 200, max: 5 });
});
|
Файл data.php в примере. Код | <?php
if (version_compare(phpversion(), "5.3.0", ">=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); else error_reporting(E_ALL & ~E_NOTICE);
require_once('classes/CMySQL.php');
$sParam = $GLOBALS['MySQL']->escape($_GET['q']); // Выход по чтению внешних данных if (! $sParam) exit;
switch ($_GET['mode']) { case 'xml': // Используем XML как источник данных $aValues = $aIndexes = array(); $sFileData = file_get_contents('data.xml'); // Читаем содержимое $oXmlParser = xml_parser_create('UTF-8'); xml_parse_into_struct($oXmlParser, $sFileData, $aValues, $aIndexes); xml_parser_free( $oXmlParser );
$aTagIndexes = $aIndexes['ITEM']; if (count($aTagIndexes) <= 0) exit; foreach($aTagIndexes as $iTagIndex) { $sValue = $aValues[$iTagIndex]['value']; if (strpos($sValue, $sParam) !== false) { echo $sValue . "\n"; } } break; case 'sql': // Используем базу данных как источник данных $sRequest = "SELECT `country_name` FROM `s85_countries` WHERE `country_name` LIKE '%{$sParam}%' ORDER BY `country_code`"; $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest); foreach ($aItemInfo as $aValues) { echo $aValues['country_name'] . "\n"; } break; }
|
Я немного модифицировал его. Код | if (version_compare(phpversion(), "5.3.0", ">=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); else error_reporting(E_ALL & ~E_NOTICE);
require_once('местоположение класса, тоже правилное');
$sParam = $GLOBALS['MySQL']->escape($_GET['q']); // Выход по чтению внешних данных if (! $sParam) exit;
switch ($_GET['mode']) {
case 'sql': // Используем базу данных как источник данных $sRequest = "SELECT `words` FROM ".TBL_KEYWORDS." WHERE `words` LIKE '%{$sParam}%'"; $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest); foreach ($aItemInfo as $aValues) { echo $aValues['words'] . "\n"; } break; } exit(); ?>
|
У меня на странице раньше вращался значёк процесса при вводе, теперь ничего не вращается и ничего не происходит.
|