anzufordern, mache ich eine Aufgabe für mein Projekt. Ich muss Ajax verwenden, um das mysql ohne Aktualisierungswebpage zu aktualisieren.Wie man Ajax verzögert, um URL
Ich habe 2 PHP-Datei, erste ist a.php
und Code wie unten (Benutzer Kredit):
if($_GET['do'] == 'viewcredit'){
$quser = DB::query("SELECT * FROM ".DB::table('game_jnship_user')." WHERE uid = '$_G[uid]'");
$ruser = DB::fetch($quser);
//$moneyN = $ruser['money'];
echo $ruser['money'];
}
an zweiter Stelle PHP-Datei ist b.php
und Code wie unten (eine Aktion tun):
$quser = DB::query("SELECT * FROM ".DB::table('game_jnship_user')." WHERE uid = '$_G[uid]'");
$ruser = DB::fetch($quser);
$moneyN = $ruser['money'];
$gcoin = $ruser['gcoin'];
if($_GET['do'] == 'treasurehunt'){
$moneyadd = $moneyN + 1;
DB::query("UPDATE ".DB::table('game_jnship_user')." SET money = '$moneyadd' WHERE uid = '$_G[uid]'");
}
wie unten
Mein html
Code:
<script src="https://code.jquery.com/jquery-1.12.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>jQuery.noConflict();</script>
<script>
jQuery(function() {
jQuery(".submit_button").click(function() {
var url = "a.php?do=viewcredit";
var decodedUrl = decodeURIComponent(url);
jQuery.ajax({
type: "POST",
url: decodedUrl,
cache: true,
success: function(html){
jQuery("#money").html(html);
}
});
});
});
</script>
<div id="money">$ruser[money]</div>
<a href="javascript:;" onclick="showWindow('jn_spop', 'b.php?do=treasurehunt')" class="c_button submit_button"><strong>Confirm</strong></a>
so, jetzt, wenn Ich klicke die letzte Reihe von html
, die <a>Confirm</a>
, zum ersten Mal, die <div id="money">$ruser[money]</div>
wird nicht das neueste Ergebnis geben.
Ok, lassen Sie die $ruser[money] = '1';
sagen, nachdem ich die <a>Confirm</a>
klicken, mysql die money
-2
aktualisiert wurde, aber die <div id="money">$ruser[money]</div>
zeigt noch 1. Nachdem ich <a>Confirm</a>
Wieder einmal klicken, hat die <div id="money">$ruser[money]</div>
zeigt 2
(aber mysql Update gewesen money
-3
bereits.)
Also, wenn ich die ajax
Verzögerung will die a.php?do=viewcredit
zu tun, ist es möglich? von ist es anders haben kann ich die neueste $ruser[money]
ohne refresh webpage bekommen?
Vielen Dank.
Sie das Ergebnis Ihrer 'b.php' holen müssen und sagt ihm, um das Ergebnis zu zeigen Ajax – Chay22
Sie haben zwei' onclick' Event-Handler html . Wenn Sie 'div # money' nach der Manipulation auf dem Server' treasehunt' aktualisieren müssen, können Sie den Code von 'viewcredit' in' showWindow' verschieben. Ich kann Ihnen nicht zeigen wie, weil die Implementierung fehlt. –
Oder Sie können den tatsächlichen '$ ruser ['money']' bei 'treasehunt' zurückgeben und' div # money' updaten. –