Заполните веб-данные из массива JSON с помощью php

0

Я играю с JSON в течение нескольких дней, и я действительно считаю это довольно классным способом обмена данными, использующими его... Я создаю приложение, использующее jQuery mobile, где я пытаюсь заполнить данные Json, до сих пор я попробовали такой подход:

Из json файла с именем movie-details.json у меня есть следующее:

{"movies":[{"id":"1","name":"Dabangg2","picUrl":"http:\/\/www.naz8.com\/images\/Dabangg2.jpg"},{"id":"2","name":"Talassh","picUrl":"http:\/\/www.naz8.com\/images\/talassh.jpg"},{"id":"3","name":"JAB TAK HAI JAAN","picUrl":"http:\/\/www.naz8.com\/images\/jthj.jpg"},{"id":"4","name":"Khiladi 786","picUrl":"http:\/\/www.naz8.com\/images\/khiladi786.jpg"}]}

и я могу получить данные через следующее, чтобы динамически создать подробный список:

<script type="text/javascript">

 $.getJSON("movie-details.json", function(movies){
   //Start off with an empty list every time to get the latest from server
   $('#movieList').empty();

   //add the movie items as list
   $.each(movies, function(i, movie){
     $('#movieList').append(generateMovieLink(movie));
   });

   //refresh the list view to show the latest changes
   $('#movieList').listview('refresh');

 });

  //creates a movie link list item
 function generateMovieLink(movie){

  //debugger;
  return '<li><a href="javascript:void(0)'
        + '" onclick="goToMovieDetailPage(\''
        + movie.name 
        + '\',\''
        + movie.picUrl +'\')">' 
        + movie.name 
        + '</a></li>';
 }

 function goToMovieDetailPage(movieName, moviePicUrl){

  //create the page html template
  var moviePage = $("<div data-role='page' data-url=dummyUrl><div data-role='header' data-add-back-btn='true'><h1>"
                  + movieName + "</h1></div><div data-role='content'><img border='0' src='" 
                  + moviePicUrl + "' width=204 height=288></img></div><div data-role='footer' data-position='fixed'><h4>" 
                  + movieName + "</h4></div></div>");

  //append the new page to the page container
  moviePage.appendTo( $.mobile.pageContainer );

  //go to the newly created page
  $.mobile.changePage( moviePage );
 }  

</script>

как я могу заполнить данные из php файла, например movie-details.php:

<?php
include('connection.php');
$var = array();
$sql = "SELECT * FROM movies";
$result = mysqli_query($con, $sql);

while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
echo '{"movies":'.json_encode($var).'}';
?>

Какие переменные я должен объявить для извлечения json-данных из объекта objet в php файле?

Например:

//ПРОСТО ИДЕЯ... Я ЕСМЬ КОНФЕРЕНЦИЯ..

var url = "....";

$.getJSON(URL, функция (...) {

$.each(movie.movies, function (i,...)

Ваша помощь очень ценится...

  • 2
    movies - это объект, массив - movies.movies
  • 0
    Спасибо Charlietfl за ваш комментарий ... но мне нужен более четкий пример того, что должно быть объявлено для процесса извлечения:
Показать ещё 2 комментария

2 ответа

1

Вы должны json закодировать весь shebang.

echo json_encode(array("movies" => $var));

Что касается метода jquery, то работает $.getJSON('<url>',...).

  • 1
    +1 за shebang
  • 0
    Крис ... Спасибо, что передали мне код выше, хотя у меня уже было echo '{"movies":'. Json_encode ($ var). '}'; который работает эффективно таким же образом ...
0

Самый простой способ для меня - просто визуализировать данные как дерево с консоли.

$.getJSON(url, function(data){  
    console.log(data) 
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню