如何从json_encode返回回复

时间:2013-05-23 09:13:32

标签: php jquery mysql ajax

我想用ajax将记录保存到我的db MySql中。

我的页面中有一个按钮,可以在javascript中调用方法。带jSON的方法javascript在PHP中调用一个页面,用于将记录写入我的数据库。

现在记录是在DB上写的,但我无法阅读答案。我想如果记录是在该方法上写入返回“OK”,如果记录没有写入DB,则该方法返回“KO”。

这是我的代码javascript:

function saveRiga(){

    var codiceBarre = document.getElementById("codiceBarre").value;
    var nome = document.getElementById("nomeArticolo").value;


    var quantita=document.getElementById("quantita").value;
    if(quantita == "" || quantita ==null){
        alert("Campo quantità Obbligatorio");
        return;
    }

    if(isNumeric(quantita)){
        var idOrdine =69;
        var $j = jQuery.noConflict();

        $j.getJSON('salvaArticoliOrdine.php', {codiceBarre: codiceBarre, nome: nome, quantita: quantita, idOrdine: idOrdine, nomeMetodo: 'salva'}, function(data) {

            document.getElementById("codiceBarre2").value="ciccio";
        $j.each(data,function(i,item){
            alert(item);
            alert(i);   
        });
        });

    }else{
        alert("Inserire solo numeri interi positivi");
        return;
    }
}

这是一个代码PHP

if (isset($_REQUEST['codiceBarre']) && isset($_REQUEST['nome']) && isset($_REQUEST['quantita']) ) { 

    $codiceBarre = mysql_real_escape_string(htmlentities($_REQUEST['codiceBarre'])); 
    $nomeArticolo = mysql_real_escape_string(htmlentities($_REQUEST['nome'])); 
    $quantita = mysql_real_escape_string(htmlentities($_REQUEST['quantita'])); 
    $ultimo_id = mysql_real_escape_string(htmlentities($_REQUEST['idOrdine'])); 
    $nomeMetodo= mysql_real_escape_string(htmlentities($_REQUEST['nomeMetodo'])); 
    if($nomeMetodo == 'salva'){
        $query = "INSERT INTO DETTORDINI (CODIORDINE,CODICEART,NOMEARTICOLO,QUANTITA,PREZZOCAD,PREZZOTOT) VALUES (".$ultimo_id.",'".$codiceBarre."','".$nomeArticolo."',".$quantita.",0,0);";
         mysql_query($query);
        if (!$query) {
            echo json_encode("Nessun risultato disponibile");
        }else{
            $arr = array ('a'=>1,'b'=>2);
            echo json_encode($arr);
             //echo json_encode($ultimo_id);
        }
    }
}

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

替换这个:

if (!$query) {
    echo json_encode("Nessun risultato disponibile");
 }else{
    $arr = array ('a'=>1,'b'=>2);
    echo json_encode($arr);
    //echo json_encode($ultimo_id);
 }

由此:

 if (mysql_affected_rows()<=0) {
    echo json_encode("Nessun risultato disponibile");
 }else{
    $arr = array ('a'=>1,'b'=>2);
    echo json_encode($arr);
    //echo json_encode($ultimo_id);
 }

这样你就可以测试是否真的插入了一行...