2015-05-19 3 views
-1

Я повторяю два значения массива из PHP. Как отличить эти значения от ajax. Как отличить значения массива от PHP в функции успеха Ajax?

if(@mysql_select_db("trainer_registration")) 
{ 

    $select_query_num = @mysql_query("select program_id,facilitator_id,availability_status from program_facilitator"); 
    $select_query_name = @mysql_query("select facilitator_id,firstname,lastname,email_id from facilitator_details"); 
    $num_rows = @mysql_num_rows($select_query_num); 
    $trainerdetails = []; 
    $traineravaildetails = []; 
    $i = 0; 
    while($row = @mysql_fetch_assoc($select_query_num)) 
    { 

     $trainerdetails[$i]['pgidi'] = $row['program_id']; 
     $trainerdetails[$i]['facilitatorid'] = $row['facilitator_id']; 
     $trainerdetails[$i]['avail_status'] = $row['availability_status']; 
     $trainerdetails[$i]['idi'] = $row['facilitator_id']; 

     $i++; 
    } 

     while($row1 [email protected]_fetch_assoc($select_query_name)) 
    { 
     $traineravaildetails[$i]['facilitatorid'] = $row1['facilitator_id']; 
     $traineravaildetails[$i]['firstname'] = $row1['firstname']; 
     $traineravaildetails[$i]['lastname'] = $row1['lastname']; 
     $traineravaildetails[$i]['emailidvalue'] = $row1['email_id']; 
     $i++; 
    } 

    echo json_encode($trainerdetails); 
    echo json_encode($traineravaildetails); 
} 
?> 
function loadavailabletrainers (m) { 
    $.ajax({ 
     url: 'assignavailtrainers.php', 
     data: { action:'test' }, 
     type: 'post', 
     success: function(output) { 
      console.log(output); 
     } 
    }); 
} 

Я видел примеры нескольких возвращаемых значений из PHP и обработки их в AJAX, но я их не понимаю. Может ли кто-нибудь объяснить, как отличать выходные значения в моем случае?

ВЫВОД:

[[{"pgidi":"3","facilitatorid":"2","avail_status":"1","idi":"2"},{"pgidi":"3","facilitatorid":"1","avail_status":"2","idi":"1"},{"pgidi":"3","facilitatorid":"2","avail_status":"1","idi":"2"},{"pgidi":"3","facilitatorid":"1","avail_status":"2","idi":"1"},{"pgidi":"3","facilitatorid":"2","avail_status":"1","idi":"2"},{"pgidi":"3","facilitatorid":"2","avail_status":"1","idi":"2"},{"pgidi":"3","facilitatorid":"2","avail_status":"2","idi":"2"}],{"7":{"facilitatorid":"1","firstname":"Vignesh","lastname":"Anand","emailidvalue":"v*******@gmail.com"},"8":{"facilitatorid":"2","firstname":"Vignesh","lastname":"Anandakumar","emailidvalue":"vign*****@gmail.com"},"9":{"facilitatorid":"3","firstname":"Vignesh","lastname":"Anand","emailidvalue":"v*****@hotmail.com"},"10":{"facilitatorid":"4","firstname":"Vignesh","lastname":"Anand","emailidvalue":"****@live.com"}}] 
+0

Опубликовать выходные значения –

+0

Отправленные выходные значения. –

+1

Попробуйте сами вещи: 'output [0]' – xNeyte

ответ

1

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

Во-первых, вы можете создать массив контейнера:

$data = array('trainerdetails'  => $trainerdetails, 
       'traineravaildetails' => $traineravaildetails); 

Тогда

echo json_enconde($data); 

Это создаст объединенный выход.

Закодированная строка, возвращаемая вашим кодом PHP, должна быть расшифрована на стороне клиента (более подробная информация: Parse JSON in JavaScript?). Из-за этого вы можете использовать $ .getJSON(), который является псевдонимом для определенного вызова $ .ajax (doc: http://api.jquery.com/jquery.getjson/).

Функция «успех» передаст данные массива «ключ» => «значение». В этом случае вам нужно будет обрабатывать значение, поскольку они могут содержать дополнительные уровни массивов. Это помогает, если вы можете визуализировать свою структуру данных в виде древовидного изображения, например: http://jsonviewer.stack.hu/ (вставьте здесь свой вывод).

Надеюсь, это поможет!

Смежные вопросы