Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Автокомплит [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
caballero
Отправлено: 06 Января, 2013 - 15:19:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




не вижу в коде
Header("Content-Type: text/html;charset=UTF-8");


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
broshurkaplus
Отправлено: 06 Января, 2013 - 15:29:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




ну так в 7--- if(!$db) {
доступа к базе нет чтоли

алерт показывает то что в браузере, а надо то что на сервер передалось
 
 Top
Fier
Отправлено: 06 Января, 2013 - 15:30:29
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Все. теперь у меня счастье. Решил сделать как знаю:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.        
  3.         // PHP5 Implementation - uses MySQLi.
  4.         // mysqli('localhost', 'yourUsername', 'yourPassword', 'yourDatabase');
  5.         //$db = new mysqli('localhost', 'root' ,'111', 'ovb');
  6.       $db = mysql_connect('localhost','root','111');
  7.       mysql_select_db('ovb',$db);
  8.           mysql_query('set names utf8');
  9.        
  10.         if(!$db) {
  11.                 // Show error if we cannot connect.
  12.                 echo 'ERROR: Could not connect to the database.';
  13.         } else {
  14.                 // Is there a posted query string?
  15.                 if(isset($_POST['queryString'])) {
  16.                         //$queryString = $db->real_escape_string($_POST['queryString']);
  17.                         $queryString = $_POST['queryString'];
  18.                        
  19.                         // Is the string length greater than 0?
  20.                        
  21.                         if(strlen($queryString) >0) {
  22.                                 // Run the query: We use LIKE '$queryString%'
  23.                                 // The percentage sign is a wild-card, in my example of countries it works like this...
  24.                                 // $queryString = 'Uni';
  25.                                 // Returned data = 'United States, United Kindom';
  26.                                
  27.                                 // YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.
  28.                                 // eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10
  29.                                
  30.                                 //$query = $db->query("SELECT lname, fname, sname, id FROM clients WHERE lname LIKE '$queryString%' LIMIT 10");
  31.                                 $query = mysql_query("SELECT lname, fname, sname, id FROM clients WHERE lname LIKE '$queryString%' LIMIT 10");
  32.                                 if($query) {
  33.                                         // While there are results loop through them - fetching an Object (i like PHP5 btw!).
  34.                                         //while ($result = $query ->fetch_object()) {
  35.                                         while ($result = $result = mysql_fetch_array($query)) {
  36.                                                 // Format the results, im using <li> for the list, you can change it.
  37.                                                 // The onClick function fills the textbox with the result.
  38.                                                
  39.                                                 // YOU MUST CHANGE: $result->value to $result->your_colum
  40.                                         //echo '<li onClick="fill(\'' .$result->lname. '' .$result->fname. '' .$result->sname. '' .$result->id. '\');">'.$result->lname. ''.$result->fname.'' .$result->sname.'' .$result->id.'</li>';
  41.                                         echo '<li onClick="fill(\'' .$result['lname']. '' .$result['fname']. '' .$result['sname']. '' .$result['id']. '\');">'.$result['lname']. ''.$result['fname'].'' .$result['sname'].'' .$result['id'].'</li>';
  42.                                 }
  43.                                 } else {
  44.                                         echo 'ERROR: There was a problem with the query.';
  45.                                 }
  46.                         } else {
  47.                                 // Dont do anything.
  48.                         } // There is a queryString.
  49.                 } else {
  50.                         echo 'There should be no direct access to this script!';
  51.                 }
  52.         }
  53. ?>


Отображается.

Теперь другая трабла.

Допустим когда ввожу Deaklsgfajs - то результатом все равно выводит - DenysMorozov

Тоесть не прекращает поиск. А вот надо сделать так что бы ничего не показывало.
 
 Top
broshurkaplus
Отправлено: 06 Января, 2013 - 15:33:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




так если LIMIT 10 так он по идее 10 записей отбирает и последняя DenysMorozov
нужно выдать одного с такой фамилией или список из 10?
 
 Top
Fier
Отправлено: 06 Января, 2013 - 15:42:13
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Одного. тоесть что бы когда я вводил denysqiwerytquiwe (и дальше иероглифы) то оно не показывало ничего.
 
 Top
Solven
Отправлено: 13 Февраля, 2013 - 07:28:29
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Все просто, используем функцию mysqli_set_charset с 7 по 10 строки, больше танцевать не нужно:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.         // PHP5 Implementation - uses MySQLi.
  4.         // mysqli('localhost', 'yourUsername', 'yourPassword', 'yourDatabase')
  5.         $mysqli = new mysqli('localhost', 'login', 'password', 'base');
  6.  
  7.                 /* change character set to utf8 */
  8.         if (!$mysqli->set_charset("utf8")) {
  9.         printf("Error loading character set utf8: %s\n", $mysqli->error);
  10. }
  11.          
  12.         if (mysqli_connect_errno()) {
  13.         printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n", mysqli_connect_error());
  14.         exit;
  15.         } else {
  16.                 // Is there a posted query string?
  17.                 if(isset($_POST['queryString'])) {
  18.  
  19.                         $queryString = $mysqli->real_escape_string($_POST['queryString']);
  20.                        
  21.                         // Is the string length greater than 0?
  22.                        
  23.                         if(strlen($queryString) >0) {
  24.                                 // Run the query: We use LIKE '$queryString%'
  25.                                 // The percentage sign is a wild-card, in my example of countries it works like this...
  26.                                 // $queryString = 'Uni';
  27.                                 // Returned data = 'United States, United Kindom';
  28.                                
  29.                                 // YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.
  30.                                 // eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10
  31.                                
  32.                                 $query = $mysqli->query("SELECT yourName FROM yourTable WHERE yourName LIKE '$queryString%' LIMIT 10");
  33.                                  
  34.                                 if($query) {
  35.                                         // While there are results loop through them - fetching an Object (i like PHP5 btw!).
  36.                                         while ($result = $query ->fetch_object()) {
  37.  
  38.                                                 // Format the results, im using <li> for the list, you can change it.
  39.                                                 // The onClick function fills the textbox with the result.
  40.                                                
  41.                                                 // YOU MUST CHANGE: $result->value to $result->your_colum
  42.                                         echo '<li onClick="fill(\''.$result->pname.'\');">'.$result->pname.'</li>';
  43.                                 }
  44.                                 } else {
  45.                                         echo 'ERROR: There was a problem with the query.';
  46.                                 }
  47.                         } else {
  48.                                 // Dont do anything.
  49.                         } // There is a queryString.
  50.                 } else {
  51.                         echo 'There should be no direct access to this script!';
  52.                 }
  53.         }
  54. ?>
  55.  

(Отредактировано автором: 13 Февраля, 2013 - 07:30:14)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB