2016-03-13 98 views
0

我正在從mySql加載布爾數據。數據庫是0或1.然而,JSON需要true或false來正確加載表單。我在實際表格中有30個字段。是的,我可以使用case語句將select中的0 1轉換爲true。但是一定有更簡單的方法來做到這一點?loadJSON將布爾值從mysql轉換爲true或false

我在實際生產中有很多布爾字段。也許JSON不處理這個,只處理plain type =「text」?

否則我可以用PHP加載這一切,並在負荷

這裏設置的值是原來的JSON

[{"drscomplete":"0"}] 

,這就是我需要的複選框的形式

上正常工作
[{"drscomplete":"true"}] 

這裏是負載PHP

$SQL ="SELECT * from dealfinalize d where d.ID=" . $id; 

    $resultArray = array(); 

    $result = mysqli_query($con,$SQL); 

    if($result->num_rows >0) 
    $resultArray = mysqli_fetch_all($result,MYSQLI_ASSOC); 

echo json_encode($ resultArray);

這裏是AJAX

jQuery.ajax({ 
    url: "dealfinalizeload.php", 
    data:'id='+id, 
    type: "POST", 
    success:function(data){ 

      var data2 = $.parseJSON(data); 
      $('div#white_content_dealfinalize').loadJSON(data2); 

      alert(data); 

    }, 
    error:function(){ 
     alert("Error loading tasks"); 
     } 
    }); 
+1

你可以使用MySQL'情況if'到1'轉換'0'和''到或TRUE'假' '在數據庫層本身。 https://dev.mysql.com/doc/refman/5.7/en/case.html –

+0

也許不是你想要的東西,但你可以寫函數假設'getAsBoolean()'使它通用(在共享文件中)從mysql(0或1)獲取值並根據簡單的if語句返回true或false,並在序列化JSON時使用此方法,如data ['drscomplete'] = getAsBoolean($ row ['drscomplete']) ',你需要使用這個字段,你已經知道它應該是布爾值 – Yazan

+0

我試圖使用一個簡單的命令加載JSON - 我添加了ajax負載以上 –

回答

0

您可以使用情況

select t1.column1, 
     case when t2.column == 1 
     then 'true' 
     else 'false' 
     end OrderedAll 
    from yourtable t1 
+0

我有很多需要加載的生產數據庫布爾值。請參閱上面的其他信息 –

相關問題