how to store data to database in HTML5

ordinaryman09 picture ordinaryman09 · Mar 26, 2012 · Viewed 11.4k times · Source

I'm trying to build a mobile app in HTML5. I need to store the data in the database. I've look at the web sql databases. I might not understand this correctly but this looks like a local storage to me. any idea or reference how to approach this?

TIA.

Answer

Talha picture Talha · Mar 26, 2012

Here i pasted a little but very simple example of web sqlite database. i found it here

<--- --------------------------------------------------------------------------------------- ----

Blog Entry:
My Safari Browser SQLite Database Hello World Example

Author:
Ben Nadel / Kinky Solutions

Link:
[http://www.bennadel.com/index.cfm?event=blog.view&id=1940][2]

Date Posted:
Jun 11, 2010 at 9:38 AM

---- --------------------------------------------------------------------------------------- --->

Safari SQLite Hello World Example

    // The first thing we want to do is create the local
    // database (if it doesn't exist) or open the connection
    // if it does exist. Let's define some options for our
    // test database.
    var databaseOptions = {
        fileName: "sqlite_helloWorld",
        version: "1.0",
        displayName: "SQLite Hello World",
        maxSize: 1024
    };

    // Now that we have our database properties defined, let's
    // creaete or open our database, getting a reference to the
    // generated connection.
    //
    // NOTE: This might throw errors, but we're not going to
    // worry about that for this Hello World example.
    var database = openDatabase(
        databaseOptions.fileName,
        databaseOptions.version,
        databaseOptions.displayName,
        databaseOptions.maxSize
    );


    // -------------------------------------------------- //
    // -------------------------------------------------- //


    // Now that we have the databse connection, let's create our
    // first table if it doesn't exist. According to Safari, all
    // queries must be part of a transaction. To execute a
    // transaction, we have to call the transaction() function
    // and pass it a callback that is, itself, passed a reference
    // to the transaction object.
    database.transaction(
        function( transaction ){

            // Create our girls table if it doesn't exist.
            transaction.executeSql(
                "CREATE TABLE IF NOT EXISTS girls (" +
                    "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," +
                    "name TEXT NOT NULL" +
                ");"
            );

        }
    );


    // -------------------------------------------------- //
    // -------------------------------------------------- //


    // Now that we have our database table created, let's
    // create some "service" functions that we can use to
    // touch the girls (no, not in that way - perv).

    // NOTE: Since SQLite database interactions are performed
    // asynchronously by default (it seems), we have to provide
    // callbacks to execute when the results are available.


    // I save a girl.
    var saveGirl = function( name, callback ){
        // Insert a new girl.
        database.transaction(
            function( transaction ){

                // Insert a new girl with the given values.
                transaction.executeSql(
                    (
                        "INSERT INTO girls (" +
                            "name " +
                        " ) VALUES ( " +
                            "? " +
                        ");"
                    ),
                    [
                        name
                    ],
                    function( transaction, results ){
                        // Execute the success callback,
                        // passing back the newly created ID.
                        callback( results.insertId );
                    }
                );

            }
        );
    };


    // I get all the girls.
    var getGirls = function( callback ){
        // Get all the girls.
        database.transaction(
            function( transaction ){

                // Get all the girls in the table.
                transaction.executeSql(
                    (
                        "SELECT " +
                            "* " +
                        "FROM " +
                            "girls " +
                        "ORDER BY " +
                            "name ASC"
                    ),
                    [],
                    function( transaction, results ){
                        // Return the girls results set.
                        callback( results );
                    }
                );

            }
        );
    };


    // I delete all the girls.
    var deleteGirls = function( callback ){
        // Get all the girls.
        database.transaction(
            function( transaction ){

                // Delete all the girls.
                transaction.executeSql(
                    (
                        "DELETE FROM " +
                            "girls "
                    ),
                    [],
                    function(){
                        // Execute the success callback.
                        callback();
                    }
                );

            }
        );
    };


    // -------------------------------------------------- //
    // -------------------------------------------------- //


    // When the DOM is ready, init the scripts.
    $(function(){
        // Get the form.
        var form = $( "form" );

        // Get the girl list.
        var list = $( "#girls" );

        // Get the Clear Girls link.
        var clearGirls = $( "#clearGirls" );


        // I refresh the girls list.
        var refreshGirls = function( results ){
            // Clear out the list of girls.
            list.empty();

            // Check to see if we have any results.
            if (!results){
                return;
            }

            // Loop over the current list of girls and add them
            // to the visual list.
            $.each(
                results.rows,
                function( rowIndex ){
                    var row = results.rows.item( rowIndex );

                    // Append the list item.
                    list.append( "<li>" + row.name + "</li>" );
                }
            );
        };


        // Bind the form to save the girl.
        form.submit(
            function( event ){
                // Prevent the default submit.
                event.preventDefault();

                // Save the girl.
                saveGirl(
                    form.find( "input.name" ).val(),
                    function(){
                        // Reset the form and focus the input.
                        form.find( "input.name" )
                            .val( "" )
                            .focus()
                        ;

                        // Refresh the girl list.
                        getGirls( refreshGirls );
                    }
                );
            }
        );


        // Bind to the clear girls link.
        clearGirls.click(
            function( event ){
                // Prevent default click.
                event.preventDefault();

                // Clear the girls
                deleteGirls( refreshGirls );
            }
        );


        // Refresh the girls list - this will pull the persisted
        // girl data out of the SQLite database and put it into
        // the UL element.
        getGirls( refreshGirls );
    });

</script>

<h1>
    SQLite Hello World Example
</h1>

<form>
    Name:
    <input type="text" name="name" class="name" />
    <input type="submit" value="Add Girl" />
</form>

<h2>
    Girls
</h2>

<ul id="girls">
    <!-- To be populated dynamically from SQLite. -->
</ul>

<p>
    <a id="clearGirls" href="#">Clear Girls</a>!
</p>