2015-06-16 4 views
0

На странице index.php у меня есть сценарий, который извлекает данные из demo.php и отображает результат в div.Показать данные из массива

<div class="leftbox"> 
    <?php 
     echo "<div id='proddisplay'>"; 
     echo "</div>"; 
    ?> 
</div> 

var onSubmit = function(e) { 
    var txtbox = $('#txt').val(); 
    var hiddenTxt = $('#hidden').val(); 
    $.ajax({ 
     type: 'post', 
     url: 'demo.php', 
     data: { 
      txt: txtbox, 
      hidden: hiddenTxt 
     }, 
     cache: false, 
     success: function(returndata) { 
      $('#proddisplay').html(returndata); 
      console.log(returndata); 
     }, 
     error: function() { 
      console.error('Failed to process ajax !'); 
     } 
    }); 
}; 

в demo.php сценарии я получить результат от

print_r($result); 

результат, который я получаю в DIV является

Array ([0] => 1st value [1] => 2nd value [2] => 3rd value [3] => 4th value) 

Я хотел бы получить individial данные из этого массива так что я могу использовать каждую информацию отдельно и везде, где захочу на странице index.php, но я не могу этого сделать. может ли кто-нибудь сказать, как я могу получить отдельные значения из массива для индексной страницы

PS: У меня есть возможность отображать формат на демонстрационной странице в виде результата [0] и т. д. для каждого значения индекса и называть его как на странице индекса, но это ограничивает меня css. Я хочу использовать любую css на индексной странице и просто вызывать значения на индексной странице.

Я попытался использовать результат [0] в индексной странице, но не отображается никакого результата я попытался присвоением значений массива в переменный, а затем вызвать эти переменные на главную страницу, но это также не отображается никакого результата

+0

И ваша проблема? Вы не задавали никаких вопросов. Кроме того, вы не должны использовать короткие теги ' Styphon

+0

@Styphon Я хочу использовать значения из массива отдельно на индексной странице – lyra

+0

Хорошо, так почему бы вам не разобраться в этом? Один быстрый Google скажет вам, что вы можете получить к ним доступ, используя '$ result [0]' для первого значения, или '$ result [1]' для второго. – Styphon

ответ

1

преобразовать массив JSON

echo json_encode($result); 

в сценарии

var onSubmit = function(e) { 
    var txtbox = $('#txt').val(); 
    var hiddenTxt = $('#hidden').val(); 
    $.ajax({ 
    type: 'post', 
    url: 'test2.php', 
    dataType: 'json', 
    data: { 
     txt: txtbox, 
     hidden: hiddenTxt 
    }, 
    cache: false, 
    success: function(returndata) { 
     $('#first').html(returndata[0]); 
      $('#second').html(returndata[1]); 
      $('#third').html(returndata[2]); 
      $('#fourth').html(returndata[3]); 
     console.log(returndata[0]); 
    }, 
    error: function() { 
     console.error('Failed to process ajax !'); 
    } 
    }); 
}; 

первый, второй, третий, четвертый будет идентификатор DIV или области, где вы хотите, чтобы отобразить результат

0

Либо доступ каждое значение по отдельности - например $result[0]. Или, если вы хотите, чтобы петли по всему массиву, который вы можете использовать foreach

Пример:

foreach($result as $val){ 
    //do something with $val 
} 

PHP Arrays

+0

не получил никакого результата – lyra

0

Просто назначьте значения индексов переменных, как показано ниже:

$first_value = $result[0]; 
$second_value = $result[1]; 
$third_value = $result[2]; 
$fourth_value = $result[3]; 

и так и в той же последовательности.

+0

Я не могу отображать данные в этой форме – lyra

0

Поскольку вы используете Ajax для получения данных, вам нужно передать массив обратно как строку JSON. Добавьте еще один параметр, dataType: 'JSON' к вашему вызову Ajax, это говорит о том, что jQuery вы ожидаете строку JSON в качестве ответа, и она автоматически преобразует JSON в массив для вас, передавая результат функции успеха.

Затем в вашем data.php значении необходимо запустить echo json_encode($result);, чтобы передать результат в функцию успеха Ajax как строку JSON. jQuery преобразует его обратно из строки JSON в массив для нас (поэтому мы добавляем dataType). Затем в вашей функции успеха Ajax вы получите console.log(resultdata.0), и вы получите value1, а console.log(resultdata.1) предоставит вам значение2.

+0

can u plz tel dis в форме кода, я не могу применить его должным образом – lyra

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