Добавление базы данных на мобильный сайт jquery - PullRequest
2 голосов
/ 23 ноября 2011

Я довольно новичок в использовании jquery и jquery mobile, но мне было интересно, есть ли простой способ (или, желательно, учебное пособие), чтобы связать базу данных (удаленную и локальную) с мобильным сайтом jquery (желательно без использования php) ,

Ответы [ 3 ]

5 голосов
/ 23 ноября 2011

Вы можете использовать HTML5 localStorage через JavaScript, вот пояснение и некоторые ссылки на учебные пособия: http://www.html5rocks.com/en/features/storage

... в настоящее время существует несколько технологий, позволяющих приложению сохранять данные на клиентское устройство ...

Если вы хотите взаимодействовать с вашим сервером, вам нужно будет использовать язык сценариев на стороне сервера. Использовать AJAX для связи с вашим сервером довольно просто:

JS -

//run the following code whenever a new pseudo-page is created
$(document).delegate('[data-role="page"]', 'pagecreate', function () {

    //cache this page for later use (inside the AJAX function)
    var $this = $(this);

    //make an AJAX call to your PHP script
    $.getJSON('path_to/server/script.php', function (response) {

        //create a variable to hold the parsed output from the server
        var output = [];

        //if the PHP script returned a success
        if (response.status == 'success') {

            //iterate through the response rows
            for (var key in response.items) {

                 //add each response row to the output variable
                 output.push('<li>' + response.items[key] + '</li>');
            }

        //if the PHP script returned an error
        } else {

            //output an error message
            output.push('<li>No Data Found</li>');
        }

        //append the output to the `data-role="content"` div on this page as a listview and trigger the `create` event on its parent to style the listview
        $this.children('[data-role="content"]').append('<ul data-role="listview">' + output.join('') + '</ul>').trigger('create');
    });
});

PHP -

<?php

//include your database connection code
include_once('database-connection.php');

//query your MySQL server for whatever information you want
$query = mysql_query("SELCT * FROM fake_table WHERE fake_col='fake value'", $db) or trigger_error(mysql_error());

//create an output array
$output = array();

//if the MySQL query returned any results
if (mysql_affected_rows() > 0) {

    //iterate through the results of your query
    while ($row = mysql_fetch_assoc($query)) {

        //add the results of your query to the output variable
        $output[] = $row;
    }

    //send your output to the browser encoded in the JSON format
    echo json_encode(array('status' => 'success', 'items' => $output));
} else {

    //if no records were found in the database then output an error message encoded in the JSON format
    echo json_encode(array('status' => 'error', 'items' => $output));
}
?>

Вы также можете отправлять данные в скрипт PHP и добавлять их в базу данных.

Вот несколько страниц документации для функций, используемых выше:

jQuery .getJSON(): http://api.jquery.com/jquery.getjson

PHP json_encode(): http://www.php.net/json_encode

0 голосов
/ 25 ноября 2011

Если вам нужна база данных, в мобильном браузере широко распространена поддержка SQLLite в форме Базы данных Web SQL , которая в настоящее время поддерживается на большинстве устройств Android и iPhone.

Чтобы увидеть рабочий пример, проверьте следующую ссылку:

http://desalasworks.com/html5-databases-on-iphone/

Обратите внимание, что язык SQL, доступный в SQLLite, более ограничен, чем (что я предполагаюэто) ваша база данных MySQL.Вы можете создавать / удалять таблицы, выбирать, вставлять и обновлять, но некоторые из более сложных операций будут отсутствовать.

0 голосов
/ 24 ноября 2011

use http://westcoastlogic.com/lawnchair/
Он предлагает много способов хранения, и вы можете фактически расположить все адаптеры (варианты хранения) так, чтобы он выбрал первый, который доступенбраузер.Также он использует формат JSON независимо от того, хотите ли вы использовать localstorage или sqlite, так что вам придется иметь дело только с данными JSON.

...