Jump to content

jQuery/jEditable - MySQL update problem


Ivaked

Recommended Posts

Hello there!  :)

 

I'm hoping someone will be able to help me get the jEditable functionality working properly on my site. My website is running the latest version of Drupal and has the PHP module enabled to allow Drupal to process PHP code on my pages.

 

I currently have a page which is a Tracker. It allows the user who visits the page to update their Tracker statistics however I want them to be able to do it on the same page without reloading or going to a different page. This is the code I currently have on the page:

 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> 
<script src="http://www.warhawkinfo.com/scripts/jquery.jeditable.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript" charset="utf-8"> 
$(function() 
    { 
    $(".click").editable("http://www.warhawkinfo.com/save-tracker.php", 
        { 
              indicator : "<img src='http://www.warhawkinfo.com/images/ajax-indicator.gif'>", 
        tooltip   : "Click to edit this item...", 
        style  : "inherit" 
          } 
    ); 
    } 
); 
</script> 

<?

#DRUPAL API TO CHECK USER IS LOGGED IN
if (user_is_logged_in()) { 

    #CALL GLOBAL VARIABLE THEN GET PSN FROM DATA
    global $user; 
    $me = user_load(array('uid' => $user->uid)); 
    $psn = $me->profile_psn; 

    #CONNECT TO TRACKER DATABASE 
    $sql_un = "username"; 
    $sql_pw = "password"; 
    $sql_db = "the-immortality_com_tracker-codwaw"; 
    mysql_connect("127.0.0.1", $sql_un, $sql_pw); 
    mysql_select_db($sql_db) or die("Unable to connect to CoD-WaW Tracker database."); 

    #IF USER IS NEW TO TRACKER (FIRST VISIT), ADD DEFAULT DATA 
    if(!mysql_num_rows(mysql_query("SELECT psn FROM missions WHERE uid = '$user->uid'")) > 0) 
    { 
    mysql_query("INSERT INTO multiplayer (uid,psn,prestige,rank,time_played_days,time_played_hours,world_ranking,kills,deaths,wins,losses,kill_streak,death_streak,win_streak,fav_weapon,lfav_weapon,fav_pistol,lfav_pistol,dog_kills,artillery_kills) VALUES ('$user->uid','$psn','0','1','0','0','Unknown','0','0','0','0','0','0','0','Unknown','Unknown','Unknown','Unknown','0','0')");
    }
?> 

Welcome to your personal CoD:WaW Tracker <? echo $psn; ?>. This tool allows you to record and maintain various statistics of your CoD:WaW gaming such as what missions you have completed and what trophies you have attained. Your statistics can be edited at any time and all the data you provide will be used in your TB$ profile. 

To better use this facility, we highly recommend you register to <a href="http://www.callofduty.com">www.callofduty.com</a> and link your stats so that your stats are as accurate as possible. 
<br> 
<br> 
<hr> 
<br> 
    <div align="center" style="font-family: Arial Black; font-size: 24px; color: black"> 
        <b>Multiplayer Statistics</b> 
    </div> 

<? 

#GET USERS MULTPLAYER STATISTICS 
$result = mysql_query("SELECT * FROM multiplayer WHERE uid = '$user->uid'"); 
$mpstat = mysql_fetch_row($result); 

?> 

<br> 
<table> 
    <tr> 
        <th>Prestige</th> 
            <? echo ($mpstat[2] > 0) ? '<td><img title="Prestige ' . $mpstat[2] . '" src="/images/prestige_icons/prestige' . $mpstat[2] . '.png"> (Prestige ' . $mpstat[2] . ')</td>' : '<td>Not Prestiged</td>'; ?> 
    </tr><tr> 
        <th>Rank</th> 
            <td><? echo $mpstat[3]; ?></td> 
    </tr><tr> 
        <th>Time played</th> 
            <td><? echo $mpstat[4]; ?> days, <? echo $mpstat[5]; ?> hours</td> 
    </tr><tr> 
        <th>World ranking (score)</th> 
            <td><div id="world_ranking" class="click" style="display: inline"><? echo $mpstat[6]; ?></div></></td> 
    </tr><tr> 
        <th>Kills</th> 
            <td><? echo $mpstat[7]; ?></td> 
    </tr><tr> 
        <th>Kills from Dogs</th> 
            <td><? echo $mpstat[18]; ?></td> 
    </tr><tr> 
        <th>Kills from Artillery</th> 
            <td><? echo $mpstat[19]; ?></td> 
    </tr><tr> 
        <th>Deaths</th> 
            <td><? echo $mpstat[8]; ?></td> 
    </tr><tr> 
        <th>Kill to Death Ratio</th> 
            <td><? echo round($mpstat[7] / $mpstat[8], 2); ?></td> 
    </tr><tr> 
        <th>Kill Streak</th> 
            <td><? echo $mpstat[11]; ?></td> 
    </tr><tr> 
        <th>Death Streak</th> 
            <td><? echo $mpstat[12]; ?></td> 
    </tr><tr> 
        <th>Wins</th> 
            <td><? echo $mpstat[9]; ?></td> 
    </tr><tr> 
        <th>Losses</th> 
            <td><? echo $mpstat[10]; ?></td> 
    </tr><tr> 
        <th>Win to Loss Ratio</th> 
            <td><? echo round($mpstat[9] / $mpstat[10], 2); ?></td> 
    </tr><tr> 
        <th>Win Streak</th> 
            <td><? echo $mpstat[13]; ?></td> 
    </tr><tr> 
        <th>Favourite Weapon</th> 
            <td><? echo $mpstat[14]; ?></td> 
    </tr><tr> 
        <th>Least favourite Weapon</th> 
            <td><? echo $mpstat[15]; ?></td> 
    </tr><tr> 
        <th>Favourite Pistol</th> 
            <td><? echo $mpstat[16]; ?></td> 
    </tr><tr> 
        <th>Least favourite Pistol</th> 
            <td><? echo $mpstat[17]; ?></td> 
    </tr> 
</table> 

<? } else { ?> 
<p>You are not logged in. You need to login or register to access this page.</p> 
<br> 
<br> 

<? } ?>

 

As you can see, the "World Ranking" statistic is the one I'm using for testing purposes and to get the thing working before I start making the other ones editable-in-place.

 

jEditable is POST'ing the updated value which I'm trying to use to update my database however for some reason it seems to skip updating the database. It updates to the new value on the page, but doesn't update the database. The "save-tracker.php" file has the following code:

 

<? 

global $user; 

$sql_un = "username"; 
$sql_pw = "password"; 
$sql_db = "the-immortality_com_tracker-codwaw"; 
mysql_connect("127.0.0.1", $sql_un, $sql_pw); 
mysql_select_db($sql_db) or die("Unable to connect to CoD-WaW Tracker database."); 

$world_ranking = $_POST["value"] ; 
mysql_query("UPDATE multiplayer SET world_ranking= '$world_ranking' WHERE uid = '$user->uid'") or die(mysql_error());   
echo $world_ranking; 

?>

 

Does anyone have any idea why it seems to skip the mysql_query to update the statistic?

 

Kind regards,

~Ivaked

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.