Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамически получить данные из PHP, Ajax, получение данных из PHP скрипта 
V
    Опции темы
AGENTxXx
Дата 1.10.2011, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый вечер! 
Думаю не сложный вопрос, но у меня ни чего не получается((((
В общем задача такая: при выборе курса (например выбрали Курс 1 из выпадающего списка), скрипт должен отправить запрос к php файлу и получить от него данные, в которых содержаться имена групп, с первым курсом.
Делать думаю нужно на Ajax. 
Раньше реализовывал что то подобное, но нужно было только получить 1 или 0 - эт работало, а вот, чтобы получить какие то действительные данные - почему то не работает(((

Вот мой скрипт:
Код

function ajaxz(cpch, urld, prm)
{
/* Создание нового объекта XMLHttpRequest для общения с Web-сервером */
var xmlHttp = false;
try {
  xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      xmlHttp = false;
    }
  }
}
}



Функция формирования:
Код

function Gets(){
chfl6=ajaxz("document.getElementById('JSONresult').value", "/all.php", "1");
alert(chfl6);
return chfl6;
}


Текс файла all:
Код

<?
    $db="Biology";
    $datalnk="***********";
    $datalogin="********";
    $datapass="*****";
    @$link=mysql_connect($datalnk,$datalogin,$datapass) or die("Ошибка подключения к Серверу");
    @mysql_select_db($db) or die("Ошибка подключения к БД");
    $sql_call="select * from Groups where course='1' order by name";
    $out=mysql_query($sql_call,$link);
    $gruppa='';
    while (@$row=mysql_fetch_array($out))
    {
        $gruppa.="<option value='#row[0]'>$row[1]</option>\r\n";
    }
    echo "<select>$gruppa</select>";
?>


php скрипт все работает, а данные просто не поступают в переменную chfl6.

То, что написано на JS за правильность ручаться не могу. 
Помогите плизз....
Или скажите где искать что то подобное? 

Заранее благодарен!!! =)
PM MAIL   Вверх
Evghenusi
Дата 1.10.2011, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

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



что должна делать функция ajaxz?

Добавлено через 1 минуту и 8 секунд
Цитата(AGENTxXx @  1.10.2011,  18:13 Найти цитируемый пост)
"document.getElementById('JSONresult').value"
смущает почему-то....и не только это)

PM WWW   Вверх
AGENTxXx
Дата 1.10.2011, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Функция ajaxz как раз передает информацию из нашей формы в  php скрипт. (в данном случае передаст 1, если будет выбран курс 1). Т.е. в данном случае all.php написан так, что там всегда будет курс 1, но планируется, что курс может быть и другой. Можете именно на примеры не смотреть, если просто сами знаете как это сделать.
Думаю на jQuery я бы смог реализовать, но не охота постоянно подгружать скрипт размером 60кб, для выполнения только этой операции.
В общем кто знает, как реализовать чисто на Ajax - прошу помощь

P.S. Если решение раньше найду - напишу как реализовал


PM MAIL   Вверх
AGENTxXx
Дата 1.10.2011, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нашел решение в интернете.
Кому интересно, вот решение именно моего примера (в упрощенном виде частично):

Файл, где при нажатии на ссылку получаем выпадающий список с нужной группой:
Код

<script type="text/javascript" language="javascript">
/*переменная для хранения объекта запроса*/
var xmlHttp=null;
/*создание объекта запроса*/
function createRequest()
{
  try{
    //создаем объект запроса для Firefox, Opera, Safari
    xmlHttp = new XMLHttpRequest();
  } catch(e){
    //создаем объект запроса для Internet Explorer
    try{
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e){
      try{
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e){
        xmlHttp = null;
      }
    }
  }

  if(xmlHttp == null)alert("Браузер не поддерживает AJAX!");
}

/*отправка запроса*/
function sendRequest()
{
/*получаем объект запроса*/
  createRequest();
  /*Устанавливаем соединение*/
  xmlHttp.open("GET", "zapr.php?param1=1", true);
  /*Указываем функцию*/
  xmlHttp.onreadystatechange = MyFunc;
  /*Отправляем запрос*/
  xmlHttp.send(null);
}

/*обрабатываем ответ*/
function MyFunc()
{
  if(xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
    document.getElementById('chfl6').innerHTML=xmlHttp.responseText;
      //alert(xmlHttp.responseText);
    } else {
      alert("Ошибка обработки запроса!");
    }
  }
}
</script>
<input value="сделать запрос" type="button" onClick="sendRequest();" /> 
<div>
<span id="chfl6">Здесь появятся группы</span>
</div>


Тут наш скрипт:
Код

<?
    $db="Biology";
    $datalnk="***********";
    $datalogin="*******";
    $datapass="**********";
    @$link=mysql_connect($datalnk,$datalogin,$datapass) or die("Ошибка подключения к Серверу");
    @mysql_select_db($db) or die("Ошибка подключения к БД");
    mysql_query('SET NAMES utf8',$link); // используем для того, чтобы кодировка норм отображалась (эт если у вас будут "каракули")
    $sql_call="select * from Groups where course='$_GET[param1]' order by name";
    $out=mysql_query($sql_call,$link);
    $gruppa='';
    while (@$row=mysql_fetch_array($out))
    {
        $gruppa.="<option value='$row[0]'>$row[1]</option>\r\n";
    }
    echo "<select>$gruppa</select>";
?>



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


Всем, кто пытался подумать над моим вопросом: СПАСИБО! =)
PM MAIL   Вверх
Evghenusi
Дата 1.10.2011, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

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



Цитата(AGENTxXx @  1.10.2011,  20:07 Найти цитируемый пост)
Всем советую скрипт сохранить
 smile 

PM WWW   Вверх
AGENTxXx
Дата 2.10.2011, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Эм... Не понял иронии...
Ну если не понятно про какой скрипт, то вот, про этот:
Код

<script type="text/javascript" language="javascript">
/*переменная для хранения объекта запроса*/
var xmlHttp=null;
/*создание объекта запроса*/
function createRequest()
{
  try{
    //создаем объект запроса для Firefox, Opera, Safari
    xmlHttp = new XMLHttpRequest();
  } catch(e){
    //создаем объект запроса для Internet Explorer
    try{
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e){
      try{
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e){
        xmlHttp = null;
      }
    }
  }
  if(xmlHttp == null)alert("Браузер не поддерживает AJAX!");
}
/*отправка запроса*/
function sendRequest()
{
/*получаем объект запроса*/
  createRequest();
  /*Устанавливаем соединение*/
  xmlHttp.open("GET", "zapr.php?param1=1", true);
  /*Указываем функцию*/
  xmlHttp.onreadystatechange = MyFunc;
  /*Отправляем запрос*/
  xmlHttp.send(null);
}
/*обрабатываем ответ*/
function MyFunc()
{
  if(xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
    document.getElementById('chfl6').innerHTML=xmlHttp.responseText;
      //alert(xmlHttp.responseText);
    } else {
      alert("Ошибка обработки запроса!");
    }
  }
}
</script>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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