Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не загружается селект через ajax (https://javascript.ru/forum/misc/53885-ne-zagruzhaetsya-selekt-cherez-ajax.html)

kiberchainik 24.02.2015 15:02

danik.js,
помоги с последним разобраться, пожалуйста!:)

danik.js 24.02.2015 16:25

Цитата:

Сообщение от kiberchainik
ну помоги уже чайнику, пожаааалуйста!!!

Напрягись сам. Хоть что-то ты должен был выяснить если пытался. С чем конкретно проблемы?

kiberchainik 24.02.2015 16:35

Цитата:

Сообщение от danik.js (Сообщение 358120)
Напрягись сам. Хоть что-то ты должен был выяснить если пытался. С чем конкретно проблемы?

с твоей помощью и конечно с моей тоже у меня получилось сделать чтоб селект работал именно так как мне нужно, и все хорошо, одно только плохо это вывод {"resVV":{"vvi":null},"resVB":{"vbi":null},"resMan igli":{"manigli":null},"resColore":{"colore":null} ,"resProfili":{"profili":null},"resTipologia":{"ti pologi":null}} этой строки в самом верху страницы, когда она не должны быть! когда я первый раз спросил тебя как убрать ты написал сделай SQL из phpmyAdmin я этого и не понял! каким образом ты имел ввиду сделать этот запрос чтоб эта строка не выводилась???

danik.js 24.02.2015 17:31

А не, я подумал тебя беспокоит что type:error возвращает, видимо из-за ошибки в запросе.
На странице выводится потому что ты чета напутал. Тот код должен запускаться только для генерации ответа на аякс-запрос. Нафига ты его втыкнул в html страницу - это не ко мне вопрос.

kiberchainik 24.02.2015 17:50

Цитата:

Сообщение от danik.js (Сообщение 358129)
А не, я подумал тебя беспокоит что type:error возвращает, видимо из-за ошибки в запросе.
На странице выводится потому что ты чета напутал. Тот код должен запускаться только для генерации ответа на аякс-запрос. Нафига ты его втыкнул в html страницу - это не ко мне вопрос.

да нет же я его не втыкал в html страницу он стоит в php коде вот ...
//выводим список видов тонировок
    $VB=mysql_query("SELECT id, nome_corto FROM criteri WHERE id_filter='".$filter_id."' AND meta='Vetri decorati'");

    if ($VB) {
        $num = mysql_num_rows($VB);      
        $i = 0;
        while ($i < $num) {
           $vbi[$i] = mysql_fetch_object($VB);   
           $i++;
        }     
        $resVB = array('vbi'=>$vbi);  
    }
    else {
    	$resVB = array('type'=>mysql_error());
    }
    
    $all = array('resVV' => $resVV, 'resVB' => $resVB, 'resManigli' => $resManigli, 'resColore' => $resColore, 'resProfili' => $resProfili, 'resTipologia' => $resTipologia);
    
    print json_encode($all);


вот только тут он print json_encode($all); и выводит все на страницу

laimas 24.02.2015 18:45

>$resVB = array('type'=>mysql_error());
....
'resVB' => $resVB


Ваши пользователи - ваши отладчики?

kiberchainik 24.02.2015 19:25

Цитата:

Сообщение от laimas (Сообщение 358160)
>$resVB = array('type'=>mysql_error());
....
'resVB' => $resVB


Ваши пользователи - ваши отладчики?

нет ))) это я для себя выводил и не стал потом убирать, за след. пункт принялся )))
а Вы что можете сказать по вопросу описанному выше???

laimas 24.02.2015 19:40

А что сказать? Что за проблемы у вас я не знаю, это всю тему перечитать надо, но если только об этом посте, то я не понимаю смысла этого действа:
$num = mysql_num_rows($VB);      
        $i = 0;
        while ($i < $num) {
           $vbi[$i] = mysql_fetch_object($VB);   
           $i++;
        }

это ради чего такое колдовство?
Не понимаю зачем так "для себя" ошибки проверять, чтобы потом выковыривать. То есть серверная сторона "не то", а значит и клиентской стороне "не сладко".

kiberchainik 24.02.2015 19:46

Цитата:

Сообщение от laimas (Сообщение 358167)
А что сказать? Что за проблемы у вас я не знаю, это всю тему перечитать надо, но если только об этом посте, то я не понимаю смысла этого действа:
$num = mysql_num_rows($VB);      
        $i = 0;
        while ($i < $num) {
           $vbi[$i] = mysql_fetch_object($VB);   
           $i++;
        }

это ради чего такое колдовство?
Не понимаю зачем так "для себя" ошибки проверять, чтобы потом выковыривать. То есть серверная сторона "не то", а значит и клиентской стороне "не сладко".

данный цикл создавался для того чтоб данные из базы упаковать в массив, и потом массивом вернуть в яву где этот массив и будет выводиться, насчет "для себя" я это сделал чтоб видеть какая ошибка при неудачном запросе в базу, просто не стал убирать, не в этом суть!!! а главный вопрос как мне избежать вывода этого массива на главной странице из-за print json_encode($all); можно как-то по другому вернуть массив в яву? не с помощью принт или эко, я пробовал ретурн он ведь возвращает но не получилось!

danik.js 24.02.2015 19:58

Принт делай при запросе аяксом только, че непонятного?
Если код общий, можешь его переиспользовать, вынеся код получения данных в функцию/класс. Далее юзаешь эту функцию из двух точек: при выводе в select или куда там, и при запросе аяксом, прогоняя через json_encode


Часовой пояс GMT +3, время: 12:22.