PHP使用IF條件式判斷去 UPDATE 問題(php.javascript)

edited 四月 2014 in PHP新手區
我是使用jqxGrid一套開源的JQUERY

然後我利用PHP GET方式去取資料 發現一直取不到值

然後PHP自然判斷不了

可以請各位大大幫我看一下 我程式碼中有哪邊出問題嗎?

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'pos';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($dbname);
if($_GET['status'] == 0){
$sql = "update payment set status =1 where `id`='".$_GET['id']."'";
$result = mysql_query($sql) or die('MySQL query error');
}
else {
$sql = "update payment set status =0 where `id`='".$_GET['id']."'";
$result = mysql_query($sql) or die('MySQL query error');
}
?>



$("#up").on('click', function () {
var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex');
var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;
if (selectedrowindex >= 0 && selectedrowindex <= rowscount) {
var row = $("#jqxgrid").jqxGrid('getrowdata', selectedrowindex);
$.ajax({
dataType: 'json',
url: 'select.php',
data: 'id='+row.id+'&status='+row.status,
cache: false,
});
} });
</script>



評論

  • 不知道為什麼不能編輯

    我重新再貼一次code

    懇求大大幫忙


    <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $dbname = 'pos';
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');
    mysql_query(\"SET NAMES 'utf8'\");
    mysql_select_db($dbname);
    if($_GET['status'] == 0){
    $sql = \"update payment set status =1 where `id`='\".$_GET['id'].\"'\";
    $result = mysql_query($sql) or die('MySQL query error');
    }
    else {
    $sql = \"update payment set status =0 where `id`='\".$_GET['id'].\"'\";
    $result = mysql_query($sql) or die('MySQL query error');
    }
    ?>



    <script>
    $(\"#up\").on('click', function () {
    var selectedrowindex = $(\"#jqxgrid\").jqxGrid('getselectedrowindex');
    var rowscount = $(\"#jqxgrid\").jqxGrid('getdatainformation').rowscount;
    if (selectedrowindex >= 0 && selectedrowindex <= rowscount) {<br /> var row = $(\"#jqxgrid\").jqxGrid('getrowdata', selectedrowindex);
    $.ajax({
    dataType: 'json',
    url: 'select.php',
    data: 'id='+row.id+'&status='+row.status,
    cache: false,
    });
    } });
    </script>

  • 看起來是你 ajax 到php 時沒有確實 把 id 傳過去,
    你指定用 json 方式傳,但用的是text 方式,
    試著 將 ajax 中改成
    type:"POST",
    dataType:'text'

    驗證方法是收值頁直接回傳 傳過去的值

  • $.ajax({
    data: { name: \"John\", location: \"Boston\" }
    }),
    success: function(data){
    console.log('success');
    },error:function(xhr, ajaxOptions, thrownError){
    console.log(xhr.status);
    console.log(thrownError);
    }

    https://api.jquery.com/jQuery.ajax/

    可以看看哪邊錯了error:function
  • 謝謝runli,i7807 前輩 我好像找到問題點解決了 好像是有傳到值
    但是我PHP有段導資料的
    CONCAT('IC', payment.id) AS id

    我把他定義後似乎跟id相衝 好像不能用CONCAT?? 抓不到id樣子..
    data: 'id='+row.id+'&status='+row.status,

    然後我就做比較笨的方式 放兩段sql

    payment.id,
    CONCAT('IC', payment.id) AS Sid,

    就擺了兩段
    CONCAT主要達到我想要的結果
    但我覺得我方法我這樣寫好像有點笨...
Sign In or Register to comment.