Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль

Внимание! Теперь для входа на форум необходимо вводить единый пароль регистрации сервисов sibnet.ru!

Здравствуйте, гость ( Вход | Регистрация )



 
Ответить в эту темуОткрыть новую тему
> помогите с Ajax, HELP ME ((
s2s2
сообщение 15.5.2013, 16:02
Сообщение #1


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Подскажите пожалуйста, в чем может быть проблема.
Вот код
Код
$(document).ready(function(){

function runajax(a)
        {
                var myotpr = a;
                $.ajax({
                  type: "POST",
                  data: "key=" + myotpr,
                  url: "AjaxPHP/get_orgs.php",
                  dataType: "json",
                  success: function(data)
                  {
                         var options = '';
                        $(data).each(function (){
                        options = '<option value="' + data.id +'">' + data.nameorg + '</option>';
                        
                        });  
                      $('#Sel_1').html(options);
                      $('#Sel_1').attr("disabled", false);
                                            
                  }
                  
                });
                
        }
        
$('#my_select').change(function(){
var idspisok = $("#my_select :selected").val();
$('#myotpr').val(idspisok).change();
runajax(idspisok);
});
            
});

Суть такова. Из БД выбираются данные ID и Nameorg и добавляются в <select>, но дело в том что почему то добавляется только одна запись. Но БД их несколько.
Вот пхп код
Код
<?php
$connection = mysql_connect('localhost', 'root', '');
$s=mysql_select_db('TechnassSystem');
        mysql_query('SET NAMES utf8');
        mysql_query('SET CHARACTER SET utf8');
        mysql_query('SET COLLATION="utf8_general_ci"');

           $key = $_POST["key"];
$id_town = mysql_query("SELECT * FROM `organization`   WHERE `idtown`= '$key' ");
$res = mysql_fetch_assoc($id_town);
print json_encode($res);
?>
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
artygrand
сообщение 15.5.2013, 16:10
Сообщение #2


1000-кун
Group Icon


Группа: Модераторы
Сообщений: 7 671
Регистрация: 23.11.2008
Из: Новосибирска
Пользователь №: 62 681



Цитата
почему то добавляется только одна запись.
полагаю, самая последняя только?

Код
options += '<option value="' + data.id +'">' + data.nameorg + '</option>';
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
s2s2
сообщение 15.5.2013, 18:18
Сообщение #3


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Цитата(artygrand @ 15.5.2013, 15:10) *

полагаю, самая последняя только?

Код
options += '<option value="' + data.id +'">' + data.nameorg + '</option>';


Нет первая

Сообщение отредактировал s2s2 - 15.5.2013, 18:18
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
s2s2
сообщение 15.5.2013, 21:15
Сообщение #4


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Я предполагаю что ошибка вот в этом месте.
Код
                        $(data).each(function (){
                        options = '<option value="' + data.id +'">' + data.nameorg + '</option>';
                        
                        });

Скорей цикл не правильно пишу. но не могу понять как по другому написать
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
artygrand
сообщение 16.5.2013, 1:03
Сообщение #5


1000-кун
Group Icon


Группа: Модераторы
Сообщений: 7 671
Регистрация: 23.11.2008
Из: Новосибирска
Пользователь №: 62 681



в этом месте я показал, как должно быть.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
s2s2
сообщение 16.5.2013, 1:58
Сообщение #6


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Цитата(artygrand @ 16.5.2013, 0:03) *

в этом месте я показал, как должно быть.

Блин не заметил. Но все равно по прежнему только одна запись добавляется.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Towahawk
сообщение 16.5.2013, 9:53
Сообщение #7


Молчун
Group Icon


Группа: Пользователи
Сообщений: 79
Регистрация: 21.2.2012
Пользователь №: 424 333



Репутация:   5  


У вас ошибка в PHP скрипте. mysql_fetch_assoc - возвращает первый результат выборки и переводит указатель на следующий.

Правильно делать так:

Код

$mass = array();

while ($row = mysql_fetch_assoc($id_town)) {
     $mass[] = $row;
}

echo json_encode($mass);


Сообщение отредактировал Towahawk - 16.5.2013, 10:04


» Спасибо сказали: «
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
s2s2
сообщение 16.5.2013, 11:43
Сообщение #8


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Цитата(Towahawk @ 16.5.2013, 8:53) *

У вас ошибка в PHP скрипте. mysql_fetch_assoc - возвращает первый результат выборки и переводит указатель на следующий.

Правильно делать так:

Код

$mass = array();

while ($row = mysql_fetch_assoc($id_town)) {
     $mass[] = $row;
}

echo json_encode($mass);


В этом случаи если так делать то <select> заполняется undefined (неопределенный)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Towahawk
сообщение 16.5.2013, 14:39
Сообщение #9


Молчун
Group Icon


Группа: Пользователи
Сообщений: 79
Регистрация: 21.2.2012
Пользователь №: 424 333



Репутация:   5  


Вот так точно работает...

Код


$.each(data, function (){
           options += '<option value="' + this.id +'">' + this.nameorg + '</option>';
});



Это плюс к тому, что я уже писал

Сообщение отредактировал Towahawk - 16.5.2013, 14:48


» Спасибо сказали: «
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
s2s2
сообщение 16.5.2013, 15:12
Сообщение #10


Поддерживает разговор
Group Icon


Группа: Sibnet-club
Сообщений: 183
Регистрация: 19.1.2009
Пользователь №: 75 921



Репутация:   7  


Цитата(Towahawk @ 16.5.2013, 13:39) *

Вот так точно работает...

Код


$.each(data, function (){
           options += '<option value="' + this.id +'">' + this.nameorg + '</option>';
});



Это плюс к тому, что я уже писал

Спасибо за помощь. Я тут уже сам разобрался. Не много по другому сделал.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. просматривают этот форум (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 17.7.2019, 21:38
Редакция: (383) 347-86-84

Техподдержка: (383) 347-22-44
help.sibnet.ru
Размещение рекламы:
тел: (383) 347-06-78, 347-10-50

Правила использования материалов