0

phonegap と jQuery mobile を使用してアプリを構築しています。私のアプリには、mysqlを更新するボタンがあり、成功すると別のページに移動します。ボタンを押すと mysql が更新されますが、ブラウザが別のページに移動しないため、関数が成功しないと思いますか? window.locateこれは私が使用しているコードです。何か問題がありますか、それとも更新部分が機能しているのに機能しないのはなぜですか?

html:

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<div id="detailsPage" data-role="page" data-add-back-btn="true">
    <div data-role="header">
        <h1>Header</h1>
    </div>
  <div data-role="content"> 
      <input type="button" id="button_id" value="UPDATE" data-theme="b" onClick="UpdateRecord();">
      <input type="button" id="button_id" value="DELETE="d" onClick="DeleteRecord();">
</div>
</body>
</html>

js:

<script>  

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function UpdateRecord(update_id) {
        var id = getUrlVars()["id"]; 
        jQuery.ajax({
            type: "POST", 
            url: serviceURL + "update.php", 
            data: 'id='+id , 
            cache: false, 
            success: function(response) 
            {
                window.location = "list.html"
            }
        });
}

function DeleteRecord(update_id) {
        var id = getUrlVars()["id"]; 
        jQuery.ajax({
            type: "POST", 
            url: serviceURL + "delete.php", 
            data: 'id='+id , 
            cache: false, 
            success: function(response) 
            {
                window.location = "list.html"
            }
        });
    }
</script>

そして update.php:

<?php
include 'config.php';
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$id = @$_POST['id'];
// query
$sql = "UPDATE table
        SET number=3
        WHERE IND=?";
$q = $conn->prepare($sql);
$q->execute(array($id));
?>
4

0 に答える 0