Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Даннае из скрипта через ajax, не выводиться цикл while 
:(
    Опции темы
sayber
Дата 14.2.2007, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Проблема в следующем. Я через js отправляю данные ПХП скрипту который в свою очередь возвращает обработанный запрос.

Но почему то не хочет возвращать while.

Вот html код поиска (форма)

Код

    <input id="searchQuery"  type="text" size="30" >
    
    <input type="button" onclick="javascript: sendSearchRequest();" value="искать">

<hr />
<p id="result">результат поиска</p>


AJAX 

Код

function createHttpRequest() {
var httpRequest;
var browser = navigator.appName;

if (browser == "Microsoft Internet Explorer") {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}

return httpRequest;
}  



function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Подождите, идет загрузка...';
httpRequest.open('get', file);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}  


function getRequest() {
if (httpRequest.readyState == 4) {
document.getElementById(resultId).innerHTML = httpRequest.responseText;
}
}  


var httpRequest = createHttpRequest();
var resultId = '';  



ПхП скрипт

Код


$search = $_GET['q'];

$search = substr($search, 0, 64);
$search = preg_replace("/[^\w\x7F-\xFF\s]/", " ", $search);

if($good = trim(preg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $search ")))) {


$sql="SELECT * FROM s_conference WHERE conference_smalltext LIKE '%".$good."%'";

$query = mysql_query($sql) or die (mysql_error());

while ($row=mysql_fetch_array($query))

{
      
     echo "{$row['conference_smalltext']}<br>";
     
}


} else {
    
echo "
<div id=conf align=center style=\"padding:8px\">
<b>СЛИШКОМ КОРОТКИЙ ЗАПРОС ДЛЯ ПОИСКА. СЛОВО ДОЛЖНО БЫТЬ БОЛЬШЕ 2-х БУКВ.</b>
</div>
";
    
}


Все данные он нормально возвращает, переменные проходят. Но не выводится while
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 14.2.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



     echo $row['conference_smalltext']."<br>";
PM ICQ   Вверх
sayber
Дата 14.2.2007, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



я и так пробовал. 0 результата
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 14.2.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Значит там пусто.
PM ICQ   Вверх
mishaSL
Дата 14.2.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



sayber, проверь у тебя без ajax-а  php скрипт поиска работает. Если да то дело в javascript-е (можешь воспользоваться стандартными библиотеками).


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sayber
Дата 14.2.2007, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Работает.

Какими стандартными??? Это и есть стандартная.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
mishaSL
Дата 14.2.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Я к примеру пользуюсь xajax и проблем особо не возникает. smile 

Покажи функцию  sendSearchRequest()


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sayber
Дата 14.2.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Код


function sendSearchRequest() {
sendRequest('search.php?q=' + document.getElementById('searchQuery').value ,  'result',  getRequest);
}


Я чет не догнал как xajax пользоваться.

Это сообщение отредактировал(а) sayber - 14.2.2007, 21:07
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
mishaSL
Дата 15.2.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(sayber @  14.2.2007,  21:01 Найти цитируемый пост)
Я чет не догнал как xajax пользоваться.


Как пользоваться xajax описано здесь http://wiki.xajaxproject.org
В архиве вместе с самим xajax идет также несколько примеров, посмотри на них, так все элементарно...

Если не получается, то создай отдельную тему и покажи что имеено у тебя не выходит.

P.S. По поводу пвоего примера, сейчас смотрю...



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sayber
Дата 15.2.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



mishaSL,  Да я смотрел примеры... Отстой там а не примеры.


Вот так надо новичкам показовать.
http://sayber.ru/2007/02/14/ajax_dlja_nubov_ili_kak.html

мне пофиг что там какие функции делают. Мне нужен нормальный русский, разжованный, готовый для реализации пример. 
Как к примеру я написал у себя.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
safo
Дата 16.2.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



sayber
httpRequest.send(null) так к Firefoxe. httpRequest.send() так в MSIE
PM MAIL   Вверх
sayber
Дата 16.2.2007, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



safo, Не понял? а разница??? Он ни в каком не работает.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
mishaSL
Дата 16.2.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



sayber, во-первых не нужно ругаться. Здесь помогают найти и исправить твои ошибка, а не пишут за тебя скрипты.

Вот код на основе твоего , он работает, проверял:
файл test.php
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Преобразовани заголовка</title>
<script type="text/javascript">
function createHttpRequest() {
var httpRequest;
var browser = navigator.appName;

if (browser == "Microsoft Internet Explorer") {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}

return httpRequest;
}



function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Подождите, идет загрузка...';
httpRequest.open('get', file);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}


function getRequest() {
if (httpRequest.readyState == 4) {
document.getElementById(resultId).innerHTML = httpRequest.responseText;
}
}


var httpRequest = createHttpRequest();
var resultId = '';

function sendSearchRequest() {
alert(document.getElementById('searchQuery').value);
sendRequest('test2.php?q=' + document.getElementById('searchQuery').value ,  'result',  getRequest);
}
</script>
</head>
<body>
    <input id="searchQuery"  type="text" size="30" >

    <input type="button" onclick="javascript: sendSearchRequest();" value="искать">
<hr />
<p id="result">результат поиска</p>
</body>
</html>


файл test2.php
Код

<?php
header("Content-type: text/plain; charset=windows-1251");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
$search = $_GET['q'];
$search = substr($search, 0, 64);
$search = preg_replace("/[^\w\x7F-\xFF\s]/", " ", $search);
if($good = trim(preg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $search ")))) {
/*$sql="SELECT * FROM s_conference WHERE conference_smalltext LIKE '%".$good."%'";
$query = mysql_query($sql) or die (mysql_error());
while ($row=mysql_fetch_array($query))
{

     echo "{$row['conference_smalltext']}<br>";

}*/
echo 'Поиск работает';
} else {

echo "
<div id=conf align=center style=\"padding:8px\">
<b>СЛИШКОМ КОРОТКИЙ ЗАПРОС ДЛЯ ПОИСКА. СЛОВО ДОЛЖНО БЫТЬ БОЛЬШЕ 2-х БУКВ.</b>
</div>
";

}
?>


запрос к базе закоментирован по понятным причинам (т.к. у меня нет твоей базы). Сообщения выводятся.
Проверь все должно работать smile 


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sayber
Дата 16.2.2007, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



mishaSL, Проверю.

А я и не ругаюсь. Может тебе просто так показалалось.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.