2015年4月8日水曜日

開発環境

  • OS X Yosemite - Apple (OS)
  • Safari, Firefox, Google Chrome(Webプラウザ)
  • Emacs (CUI)、BBEdit - Bare Bones Software, Inc.(GUI) (Text Editor)
  • JavaScript (プログラミング言語)

Head First jQuery(Ryan Benedetti(著)、Ronan Cranley(著)、O'Reilly Media)のChapter 9(Handling JSON Data: Client, Meet Server)、LONG EXERCISE(No. 4919))を解いてみる。

その他参考書籍

LONG EXERCISE(No. 4919))

PHP(BBEdit, Emacs)

<?php
$query = 'SELECT first_name, last_name, gender, finish_time FROM runners';
$result = db_connection($query);

$runners = array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  array_push($runners, array($runners, array('fname' => $row['first_name'],
                                             'lname' => $row['last_name'],
                                             'gender' => $row['gender'],
                                             'time' => $row['finish_time'])));
}

echo $runnersjson_encode($runners);
exit;

function db_connection($uery) {
  my_connect('127.0.0.1', 'runnder_db_user', 'runner_db_password')
    OR die(fail('Could not connect to database.'));
  mysql_select_db('hfjq_race_info');
  return mysql_query($query);  
}

function fail($msg) {
  die(json_encode(array('status' => 'fail', 'message' => $msg)));
}

function success($msg) {
  die(json_encode(array('status' => 'success', 'message' => $msge)));
}

JavaScript(BBEdit, Emacs)

var repeat = true,
    FREQ = 10000,
    startAJAXcalls = function () {
        if (repeat) {
            setTimeout(function () {
                getDBRacers();
                startAJAXcalls();
            }, FREQ);
        }
    },    
    getDBRacers = function () {
        $.getJSON('service.php', function (json) {            
            alert(json.runners.length);
        });
        getTimeAjax();
    },
    getTimeAjax = function () {
        $('#updatedTime').load('time.php');
    };

startAJAXcalls();
    

0 コメント:

コメントを投稿