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 == 0){
$sql = "update payment set status =1 where `id`='".$_GET."'";
$result = mysql_query($sql) or die('MySQL query error');
}
else {
$sql = "update payment set status =0 where `id`='".$_GET."'";
$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) {
var row = $("#jqxgrid").jqxGrid('getrowdata', selectedrowindex);
$.ajax({
dataType: 'json',
url: 'select.php',
data: 'id='+row.id+'&status='+row.status,
cache: false,
});
} });
</script>

<input id="up" type="button" />

評論

  • 不知道為什麼不能編輯

    我重新再貼一次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.