[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: AJAX. Получение данных из БД
pultter
Помогите, кто соображает. AJAX для меня темный лес. В PHP немного соображаю...
переделал код. пользователь начинает писать имя, а скрипт ищет похожее в БД и выводит предполагаемое имя.
вот код. почем не работает, не знаю. заранее благодарю
gethint.php:
PHP
<?php
// Fill up array with names
$c mysql_connect("localhost""root""");
mysql_select_db("likser");
//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of q>0
    
if (strlen($q) > 0) {
          
$qr mysql_query("SELECT * FROM ajax");
          
$hint="";
          while (
$r=mysql_fetch_array($qr)) {
            if (
strtolower($q)==strtolower(substr($r['name'],0,strlen($q)))) {
                  if (
$hint=="") {
                    
$hint=$r['name'];
                } else {
                    
$hint=$hint." , ".$r['name'];
                }
              }
        }
    }

// Set output to "no suggestion" if no hint were found
// or to the correct values
    
if ($hint == "") {
          
$response="no suggestion";
      } else {
          
$response=$hint;
      }

//output the response
echo $response;

clienthint.js:
Код
var xmlhttp

function showHint(str)
{
if (str.length==0)
 {
 document.getElementById("txtHint").innerHTML="";
 return;
 }
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
 {
 alert ("Your browser does not support XMLHTTP!");
 return;
 }
var url="gethint.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
 {
 document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
 }
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
 {
 // code for IE7+, Firefox, Chrome, Opera, Safari
 return new XMLHttpRequest();
 }
if (window.ActiveXObject)
 {
 // code for IE6, IE5
 return new ActiveXObject("Microsoft.XMLHTTP");
 }
return null;
}


index.htm:
HTML
<html>
<head>
<script src="clienthint.js"></script>
</head>
<body>

<form>
First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>




Спустя 3 минуты, 11 секунд (16.09.2009 - 21:41) pultter написал(а):
извиняюсь.. код оказывается вполне рабочий... просто имена в БД у меня были на русском

Спустя 1 день, 19 часов, 14 минут, 15 секунд (18.09.2009 - 16:56) live Uucyc написал(а):
организовываю проверку логина. Надо проверить в бд..как лучше?? Сформировать запрос аяксом или пхп (что-то похожее на этот код)?

Отправил аяксом в пхп файл для проверки в бд..Теперь в скрипте я получаю данные из этого файла
PHP
myDiv.innerHTML = xmlHttp.responseText;


Данные могут быть - логин занят или логин свободен. На каждый их этих вариантов свой css стиль.
Запись
PHP
if (xmlHttp.responseText == 'Логин занят')

не работает. Как тут быть??

Спустя 21 час, 22 минуты, 14 секунд (19.09.2009 - 14:18) anonymouse написал(а):
pultter

конечно очень классно все так делать...
но скажу тебе по правде легче работать с Jquery там такой класс АЯКСА что с ним очень удобно работать... и все пишется на ура и легко и быстро.

Спустя 1 час, 53 минуты, 13 секунд (19.09.2009 - 16:11) hara_ написал(а):
ну да цеплять фреймворк, только из за пары ajax запросов

Спустя 27 минут, 42 секунды (19.09.2009 - 16:39) Guest написал(а):
live Uucyc

возможно проблема в кодировке, лучше передавай такие вещи латинскими буквами.



_____________
Напишу индусский код. Бесплатно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.