Создание списка товаров на JSON и PHP
В первую очередь мы хотим извлечь данные из базы при помощи PHP, причём количество строк будет сокращено до 6. В следующем фрагменте кода вы можете увидеть, как мы извлекаем данные и формируем массив. После этого, мы просто применяем метод json_encode() для сформированного массива, чтобы получить строку JSON.
В первую очередь мы хотим извлечь данные из базы при помощи PHP, причём количество строк будет сокращено до 6. В следующем фрагменте кода вы можете увидеть, как мы извлекаем данные и формируем массив. После этого, мы просто применяем метод json_encode() для сформированного массива, чтобы получить строку JSON.
PHP код:
include('connect.php'); $sql = "SELECT title, image, description FROM json_demo LIMIT 6"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { $rows[] = array( "title" => $row['title'], "image" => $row['image'], "description" => $row['description']); } $json = json_encode($rows); $callback = $_GET['callback']; echo $callback.'('. $json . ')';
Ниже вы увидите структуру файла json.php:
[ { "description" : "B&O is a Danish company that designs and manufactures audio products, television sets, and telephones. It was founded in 1925 by Peter Bang and Svend Olufsen", "image" : "1.jpg", "title" : "B&O 5.1" }, { "description" : "B&O is a Danish company that designs and manufactures audio products, television sets, and telephones. It was founded in 1925 by Peter Bang and Svend Olufsen", "image" : "2.jpg", "title" : "B&O TV" }, { "description" : "Market leader in the UK. Roberts produce a wide range of DAB digital radios. Roberts is a consumer electronics company producing DAB, analogue and wi-fi ...", "image" : "3.jpg", "title" : "Roberts Radio" }, { "description" : "Toshiba is a diversified manufacturer and marketer of advanced electronic and electrical products, spanning information & communications equipment and systems", "image" : "4.jpg", "title" : "Toshiba TV" }, { "description" : "B&O is a Danish company that designs and manufactures audio products, television sets, and telephones. It was founded in 1925 by Peter Bang and Svend Olufsen", "image" : "5.jpg", "title" : "B&O Audio" }, { "description" : "B&O is a Danish company that designs and manufactures audio products, television sets, and telephones. It was founded in 1925 by Peter Bang and Svend Olufsen", "image" : "6.jpg", "title" : "B&O Remote" } ]
Теперь у нас есть строка JSON, которой мы можем манипулировать через JavaScript для того, чтобы достать какие-то данные. Далее нам необходимо создать ajax запрос JSON, что по сути тоже не очень сложно. Для совершения кросс доменного запроса, просто впишем абсолютный URI. Для JSONP необходимо указать метод обратного вызова.
После того, как мы получили данные, нам необходимо вывести их на страницу.
$("document").ready(function () { $.getJSON('http://papermashup.com/demos/jquery-json-php/json.php?callback=?', function (data) { $("#content").html(''); $.each(data, function (i, item) { $("#content").append('<div class="product"><img src="http://papermashup.com/demos/jquery-json-php/images/' + item.image + '" width="135" height="138"/><div class="title">' + item.title + '</div><div class="description">' + item.description + '</div><div class="clear"></div></div>'); }); }); $("#content").fadeIn(2000); });