JSON с моей PHP страницей - PullRequest
1 голос
/ 22 июня 2011

Я создал страницу на PHP, она имитирует вид http://www.radioborders.com/on-air/station-schedule ( только часть таблицы) для сайта радиостанции, который я разработал на localhost.Это тестовый сайт, для меня, чтобы попробовать разработку CSS / PHP / MySQL.

Моя страница находится по адресу http localhost / radiostation1 / mytestpage (расширение .php скрыто mod_rewrite)

Этокод для страницы: http://pastebin.com/EvK7VzMy

Однако он ссылается на внешний JSON, а это не то, что мне нужно.

Я думаю о создании массива PHP / MySQL, который используетмоя база данных, которая имеет следующие таблицы:

Presenter (varchar, 255) image (varchar, 255) - не уверен, что это лучший способ сохранить это showdesc (varchar, 255) эфирное время (время) expiration (time))

Я не уверен, как получить мой код для выбора из обратного вызова на localhost.

Оригинальный код с сайта:

            // load the schedule.
            $.getJSON('http://radioplayer.bauerradio.com/schedule.php?callback=?', {
                name: 'Radio Borders'
            }, function(json){
                // loop each show and append to our giant table.

Моя плановая версия:

            // load the schedule.
            $.getJSON('http://localhost/myradiotest1/schedule.php?callback=?', {
                name: 'Radio1FM'
            }, function(json){
                // loop each show and append to our giant table.

(у меня есть страница schedule.php, но пока она пуста, пока я не выясню, что с ней делать)

Я новичок в JSON и выяснилчто это будет немного более динамично (в терминах сценария), чем мое предыдущее использование извлечения даКак я узнал, из MySQL через PHP, что я могу сделать довольно хорошо.

Что мне нужно сделать, чтобы заставить работать JSON-колбэк и как лучше всего это сделать?Любой совет высоко ценится, и я попробую его, посмотрим, что произойдет.

С точки зрения авторского права, мое использование существующего JSON-скрипта, это справедливое использование, поскольку оно толькодля моего образовательного использования, а не в коммерческих целях.

1 Ответ

1 голос
/ 22 июня 2011

Создайте свой массив, используя массивы PHP, затем используйте json_encode() для кодирования ваших данных в массив JSON.

$dataArray = array('success' => true, 'error' => '', 'data' => getDBArray());

echo json_encode($dataArray) . ';' ;

Теперь поддержка JSONP на этом этапе тривиальна.Вам просто нужно изменить код следующим образом:

$json = json_encode($dataArray);

// Check if $_GET['callback'] contains a valid JavaScript function name
if(preg_match('/^[$A-Za-z_][0-9A-Za-z_]*$/', $_GET['callback'])) {
  echo $_GET['callback'] . '(' . $json . ');' ;
} else {
  echo $json . ';' ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...