2014-04-20 2 views
2

문제가 있습니다 .. 어쩌면 누군가 나를 도울 수 있습니다. AJAX (Ajax의 Jquery 버전 아님) 및 PHP를 사용하여 테이블을 업데이트하려고합니다.AJAX XMLHTTPREQUEST MySQL 테이블 업데이트

$product_id = filter_var($_POST["product_id"], FILTER_SANITIZE_STRING); 

    $prod_name = $_POST['prod_name']; 
    $prod_name = mysqli_real_escape_string($con,$prod_name); 

    $description = $_POST['descrip']; 
    $description = mysqli_real_escape_string($con,$description); 

    $category = $_POST['category']; 
    $category = mysqli_real_escape_string($con,$category); 

    $stockLevel = $_POST['stockLevel']; 
    $stockLevel = mysqli_real_escape_string($con,$stockLevel); 

    $price = $_POST['price']; 
    $price = mysqli_real_escape_string($con,$price); 

    $updateQuery = "UPDATE items SET prod_name='$prod_name', category='$category', descrip='$description', stockLevel='$stockLevel', price='$price' WHERE id='$product_id' "; 
    mysqli_query($con,$updateQuery) or die("problem"); 

AJAX

기능 UPD() {

var product_id = document.getElementById("product_id").value; 
var pn_display = document.getElementById("pn_display").value; 
var category_display = document.getElementById("category_display").value; 
var description = document.getElementById("description").value; 
var stock_display = document.getElementById("stock_display").value; 
var price_display = document.getElementById("price_display").value; 
xhr = new XMLHttpRequest(); 

var formdata = new FormData(); 
formdata.append("product_id",product_id); 
formdata.append("pn_display",pn_display); 
formdata.append("category_display",category_display); 
formdata.append("description",description); 
formdata.append("stock_display",stock_display); 
formdata.append("price_display",price_display); 


xhr.open("POST","update.php",true); 
xhr.send(formdata); 

}

PHP :

이 내 코드입니다 에 잘못입니까?

+0

방문 할 수 있습니다. –

답변

0

formdata JavaScript의 멤버 이름은 PHP $_POST 배열에서 사용하는 키의 이름과 동일해야합니다.

자바 스크립트 :

function upd() { 
    var description = document.getElementById("description").value; 
    // etc... 

    var formdata = new FormData(); 
    formdata.append("description",description); 
    // etc... 

    var xhr = new XMLHttpRequest(); 
    xhr.open("POST","update.php",true); 
    xhr.send(formdata); 
} 

PHP :

$description = $_POST['description']; // So not: $_POST['descrip'] 
$description = mysqli_real_escape_string($con,$description); 
// etc... 

$updateQuery = "UPDATE items SET descrip='$description' ..."; 
// etc... 

formdata.append(name, value);$value = $_POST['name'];에 따라서

는 "이름이"PHP 코드 엉 모두 자바 스크립트에 일치해야합니다 뭐라구? j 검색어? jQuery를 사용하면 간단하게 할 수있는 :

하는 jQuery를 사용하여 :

function upd() { 
    var desc = $("#description").val(); 
    // etc... 

    $.post("update.php", { 
      description: desc // The left side of the colon has to match $_POST['description'] 
      // etc... 
     }, function(response) { 
      // Optional: Do something when de call is finished 
      console.info("Response = " + response); 
     } 
    }); 
} 

대한 추가 정보를 원하시면를 들어 우리는 문제를 지정하지 않은 jquery.com