CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   Ajax and Design (http://www.codingforums.com/forumdisplay.php?f=55)
-   -   jQuery, AJAX and PHP fetching from database (http://www.codingforums.com/showthread.php?t=284124)

alesko007 12-14-2012 11:20 AM

jQuery, AJAX and PHP fetching from database
 
Hello,

I'm working on a mobile app (I'm a total newbie) and I need some help. I'm trying to fetch data from MySQL database and encode it in JSON and then get it with AJAX call in jQuery.

HTML:
Code:

<ul></ul>
jQuery:
Code:

$(document).ready( function() {
 done();
});
 
function done() {
          setTimeout( function() {
          updates();
          done();
          }, 200);
}
 
function updates() {
$.ajax({
    url:"http://wawhost.com/appProject/fetch.php",
    dataType: 'jsonp',
    success:function(data){
      $("ul").empty();
          $.each(data.result, function(){
            $("ul").append("<li>Name: "+this['name']+
                "</li><li>Age: "+this['age']+
                "</li><li>Company: "+this['company']+
                "</li><br />");
          });
          };
 });
}

PHP:
Code:

        include_once('db.php');
 
                $sql = "SELECT * FROM posts";
                $res = mysql_query($sql);
                $result = array();
 
                while( $row = mysql_fetch_array($res) )
                    array_push($result, array('name' => $row[0],
                                                  'age'  => $row[1],
                                                  'company' => $row[2]));
 
                echo json_encode(array("result" => $result));


devnull69 12-14-2012 02:25 PM

First of all, you should not call done() from inside the setTimeout callback. You should only call it after the request started by updates() finished, i.e. in its success callback

Second: There must not be a semicolon after the closing bracket of the success callback
Code:

$(document).ready(updates);
 
function updates() {
 $.ajax({
    url:"http://wawhost.com/appProject/fetch.php",
    dataType: 'jsonp',
    success:function(data){
      $("ul").empty();
      $.each(data.result, function(){
            $("ul").append("<li>Name: "+this['name']+
                "</li><li>Age: "+this['age']+
                "</li><li>Company: "+this['company']+
                "</li><br />");
      });
      setTimeout(updates, 200);
    }
 });
}

This might not be the only issue here, but it should give you a good start :-)


All times are GMT +1. The time now is 06:19 AM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.