PHP.SU

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

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

> Найдено сообщений: 15
Fier Отправлено: 06 Января, 2013 - 15:42:13 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Одного. тоесть что бы когда я вводил denysqiwerytquiwe (и дальше иероглифы) то оно не показывало ничего.
Fier Отправлено: 06 Января, 2013 - 15:40:47 • Тема: Реализация уведомлений по дате • Форум: Работа с СУБД

Ответов: 0
Просмотров: 539
На днях на работе возник такой вопрос:

Нужно реализовать систему уведомлений. Есть БД с таблицой ЮЗЕРС (Users):

Вася 2012-12-12 2013-12-12
Гриша 2012-06-06 2013-06-06
Инокентий 2012-03-03 2013-03-03

Каждому клиенту допустим нужно платить каждые 3 месяца.

Нужно сделать уведомления - за месяц до проплаты. Тоесть у меня выскакивает сообщение о том что Вася и Гриша должны заплатить до нужной даты. Так же в сообщение что бы была возможность отметить как прочитанное (готовое) и что бы больше не выводилось до следующей проплаты.
Fier Отправлено: 06 Января, 2013 - 15:30:29 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Все. теперь у меня счастье. Решил сделать как знаю:

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

Тоесть не прекращает поиск. А вот надо сделать так что бы ничего не показывало.
Fier Отправлено: 06 Января, 2013 - 15:13:29 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Решил сделать:

$db = new mysqli('localhost', 'root' ,'111', 'ovb');

mysql_query('set names utf8');

Добавить - Сет НЕЙМС.

Ответ дает на скриншоте.
Fier Отправлено: 06 Января, 2013 - 15:09:30 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.  
  3. $(document).ready(function(){
  4.     $("#button").click(function(){
  5.  
  6.      var inputString = $("#inputString").val();
  7.      
  8.            
  9.          alert(inputString);  
  10.            
  11.       $.ajax({
  12.           type: "POST",
  13.           url: "autocomplete.php",
  14.           data: {
  15.               inputString: inputString
  16.  
  17.          }
  18.  });
  19.  });
  20.  
  21.  });
  22.  
  23. </script>


Может правда смешно, но для себя такой вариант нашел того чего отправляет - вывод алертом. Ввожу на русском и все окей.

Проверил еще другим способом. Ввел в БД:

Имя - 123
Фамилию - Вася

Когда захожу на страницу автокомплита, получаю результат:

Имя оно отображает - 123
А вместо фамилии - ?????????

Тоесть база отдает не так как надо.

Но вон и алертом сделал вывод. Все же отправляем в нужной кодировке.
Fier Отправлено: 06 Января, 2013 - 14:39:21 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Пересохранил все файлы уже. Результата 0.

Когда ввожу - Denys, оно мне предлагает варианты.

Когда ввожу - тест - оно мне ничего не предлагает. Тоесть русскими буквами оно даже не может выполнить поиск по базе.
Fier Отправлено: 06 Января, 2013 - 14:27:14 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Нема счастья.
Fier Отправлено: 06 Января, 2013 - 13:38:46 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
utf8_general_ci - вся база.

Поменял - <script type="text/javascript" charset="UTF-8">
Fier Отправлено: 06 Января, 2013 - 13:34:26 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Все файлы сохранены в UTF8. И сайт весь на UTF работает. Долго мудрился с пхп, что бы меняло в запросе с ВИНДОВС1251 на УТФ.

Вот теперь с такой траблой столкнулся. Но тут тяжелее, квери слабо знаю то.
Fier Отправлено: 06 Января, 2013 - 13:20:24 • Тема: Автокомплит • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 3863
Сделал autocomplete на сайте. Есть одно НО. не подхватывает русские буквы.

Сам код:

CODE (javascript):
скопировать код в буфер обмена
  1. <!-- Автодополнение -->
  2.  
  3. <script type="text/javascript" src="js/jquery.js"></script>
  4. <script type="text/javascript" charset="windows-1251">
  5.         function lookup(inputString) {
  6.                 if(inputString.length == 0) {
  7.                         // Hide the suggestion box.
  8.                         $('#suggestions').hide();
  9.                 } else {
  10.                         $.post("autocomplete.php", {queryString: ""+inputString+""}, function(data){
  11.                                 if(data.length >0) {
  12.                                         $('#suggestions').show();
  13.                                         $('#autoSuggestionsList').html(data);
  14.                                 }
  15.                         });
  16.                 }
  17.         } // lookup
  18.        
  19.         function fill(thisValue) {
  20.                 $('#inputString').val(thisValue);
  21.                 setTimeout("$('#suggestions').hide();", 200);
  22.         }
  23. </script>
  24.  
  25. <!-- Автодополнение -->


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


CODE (html):
скопировать код в буфер обмена
  1. <p>Введите Фамилию:</p>
  2.                                 <input type="text" name="smember" width="20" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
  3.                 <div class="suggestionsBox" id="suggestions" style="display: none; z-index: 500;">
  4.                                 <img src="css_images/upArrow.png" style="position: relative; top: -12px; left: 50px;" alt="upArrow" />
  5.                                 <div class="suggestionList" id="autoSuggestionsList">
  6.                                         &nbsp;
  7.                                 </div>
  8.                             </div>


Помогите разобраться куда пихать. Сижу мучаю уже iconv около 2-ух часов.
Fier Отправлено: 23 Декабря, 2012 - 19:24:46 • Тема: AJAX + PHP + MYSQL • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2307
Решил этот вопрос.

Возник уже другой.
Fier Отправлено: 22 Декабря, 2012 - 11:14:08 • Тема: AJAX + PHP + MYSQL • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2307
Вывод городов идет. Я получаю список. Но когда я передаю данные на сервер, он их не получает. Тоесть переменная = 0.

Алертом я вывожу. Область показывает а город нет.
Fier Отправлено: 18 Декабря, 2012 - 19:07:21 • Тема: AJAX + PHP + MYSQL • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2307
Вывожу через алерт полученные данные. Область выводит, точнее записывает айдишник, нормально вроде. А вот город почему то не запоминает и просто пропуск (пустое поле) выводится в алерт.

Сам список городов он подтягивает и запоняет в зависимости от того какая область выбрана.
Fier Отправлено: 18 Декабря, 2012 - 13:22:54 • Тема: PHP + AJAX - списки • Форум: Корзина

Ответов: 1
Просмотров: 930
Помогите разобраться. Уже создал темку в другом разделе, только спустя неделю ни одного ответа, а сам до сих пор не разобрался.

http://forum.php.su/topic.php?fo...0&topic=4454
Fier Отправлено: 10 Декабря, 2012 - 13:32:39 • Тема: AJAX + PHP + MYSQL • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2307
Проблема: то что при выборе области, область заноситься в переменную, а город почему-то не выберается.

При помощи аджакса выводиться алерт, область заполняется, город пустой полность. Укажите где ошибка, либо подскажите где копать.
Сижу вторые сутки. Делал по примеру, но ввел свои корективы.

Сама форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <td>
  3.                                         Регион:<font color="red">*</font>
  4.                                         </td>
  5.                                         <td>
  6.                                         <div style="display: none" id="loading_region"><img alt="" src="/img/ajax_loader.gif" />Загрузка...</div>
  7.                                         <div>
  8.        
  9.                                         <select name="regionid" id="region" onchange="getList('city', 'region')" style="width:300px;">
  10.                                     <?php
  11.                                     $sql = mysql_query("SELECT id,name FROM region");
  12.                                     $row = mysql_fetch_array($sql);
  13.                                     do {
  14.                                         printf('
  15.                                         <option value="%s">%s</option>
  16.                                         ',$row['id'],$row['name']);}
  17.                                         while ($row = $row = mysql_fetch_array($sql));
  18.                                     ?>
  19.                                     </select>
  20.                                         </div>
  21.                                         </td>
  22.                                         </tr>
  23.                                         <tr>
  24.                                         <td>
  25.                                         Город:<font color="red">*</font>
  26.                                         </td>
  27.                                         <td>
  28.                                         <div style="display: none" id="loading_city"><img alt="" src="/img/ajax_loader.gif" />Загрузка...</div>
  29.                                         <div>
  30.                                         <select name="city_id" id="city" style="width:300px;">
  31.                                     <option>-Выберите город-</option>
  32.                                                                          
  33.                                     </select>
  34.                                         </div>
  35.  





Прикрутил я аджакс:

Код:

CODE (javascript):
скопировать код в буфер обмена
  1.  <script type="text/javascript">
  2.  
  3. $(document).ready(function(){
  4.     $("#button").click(function(){
  5.  
  6.      var region = $("#region").val();
  7.      var city = $("#city").val();
  8.            
  9.          alert(region + "-" + city);  
  10.            
  11.       $.ajax({
  12.  * * * * *type: "POST",
  13.  * * * * *url: "save_clients.php",
  14.  * * * * *data: {
  15.  * * * * * * *region: region,
  16.  * * * * * * *city: city,
  17.  
  18.  * * * * }
  19.  });
  20.  });
  21.  
  22.  });
  23.  
  24. </script>


Повесил его на кнопку. Вот только слабый все же прогресс. Алертом оно выводит все равно только область. Почему-то оно не подтягивает города.

Код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. mysql_connect('localhost', 'root', '111' );
  3. mysql_query('set names utf8');
  4.  
  5. $id   = (int)$_POST['id']; // id объекта (страна или регион)
  6. $type = $_POST['type']; // тип списка, который нужно получить (города или регионы)
  7.  
  8. sleep(1); // картинка
  9.  
  10. if ($type == 'city') {
  11.         // выбираем города в данном регионе
  12.         $result = mysql_query('SELECT *
  13.                            FROM city
  14.                            WHERE region_id = '.$id.'
  15.                            ORDER BY name');
  16.         if (!empty($result)) {
  17.                 echo "out.options[out.options.length] = new Option('-Выберите город-','none');\n";
  18.                 while ($city = mysql_fetch_array($result)) {
  19.                         echo "out.options[out.options.length] = new Option('".$city['name']."','".$city['city_id']."');\n";
  20.                 }
  21.         }
  22.         else {
  23.                 echo "out.options[out.options.length] = new Option('нет городов','none');\n";
  24.         }
  25. }
  26. /* if ($type == 'region') {
  27.         // выбираем регионы в данной стране
  28.         $result = mysql_query('SELECT *
  29.                             FROM region
  30.                             WHERE country_id = '.$id.'
  31.                             ORDER BY name');
  32.         if (!empty($result)) {
  33.                 echo "out.options[out.options.length] = new Option('выберите регион...','none');\n";
  34.                 while ($region = mysql_fetch_array($result)) {
  35.                         echo "out.options[out.options.length] = new Option('".$region['name']."','".$region['region_id']."');\n";
  36.                 }
  37.         }
  38.         else {
  39.                 echo "out.options[out.options.length] = new Option('нет регионов','none');\n";
  40.         }
  41. } */
  42. ?>


Вот city.php на который посылается аджакс при обновлении городов:

Код:

CODE (javascript):
скопировать код в буфер обмена
  1. <!-- Города -->
  2.  
  3. <script type="text/javascript" src="js/jquery.js"></script>
  4.                         <script type="text/javascript">
  5.                         function getList(type, obj) {
  6.                                 $('#loading_' + type).show();
  7.                                 $.post('/blocks/city.php', {type: type, id: $('#'+obj).val()}, onAjaxSuccess);
  8.                                 function onAjaxSuccess(data) {
  9.                                         out = document.getElementById(type);
  10.                                                 for (var i = out.length - 1; i >= 0; i--) {
  11.                                                 out.options[i] = null;
  12.                                                 }
  13.                                         eval(data);
  14.                                         $('#loading_' + type).hide();
  15.                                 }
  16.                         }
  17.                         </script>


<!-- Города -->

Короче курю дальше. Не могу найти в чем проблема, почему СЕЛЕКТ не запоминает город.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB