2014-09-04 67 views
1

您可以請看看這段代碼,並讓我知道如果查詢結果是肯定的,我可以將「真」傳遞給JSON。關於從PHP索引數組傳遞給JSON的問題

我有以下代碼,正如你所看到的,我試圖導出兩種類型的內容爲JSON,如果條件返回TRUE,並且HTML返回值爲FALSE。我也嘗試用這種分配$json[] = $arr[0];

$arr = array("true", "false"); 
$json = array(); 
$query = mysqli_query($con, "SELECT * FROM emails WHERE email ='".$email."'"); 

if(mysqli_num_rows($query) > 0){ 
    $json[] = $arr[0]; 
    header('Content-Type: text/html'); 
    echo json_encode($json); 
}else 
{ 
    header('Content-Type: application/json'); 
    echo '<div id="result">You Do Not Have Login Permission</div>'; 
} 

可以請你告訴我,這是正確的做法或如何實現的結果通過從$arr$json[]的第一個項目?謝謝

回答

1

是的,你也可以通過一個布爾值來標記這個。例如:

$json = array(); 
if(mysqli_num_rows($query) > 0){ 
    $json['response'] = true; 
    $json['message'] = 'Success!'; 
} else { 
    $json['response'] = false; 
    $json['message'] = '<div id="result">You Do Not Have Login Permission</div>'; 
} 

header('Content-Type: application/json'); 
echo json_encode($json); 
exit; 

由於jQuery是標記上的問題,你可以,如果你使用的是$.ajax處理它的success塊:

dataType: 'JSON', 
success: function(data) { 
    if(data.response == false) { 
     $('body').html(data.message); // or which part of the dom you want to append 
    } 
} 
+0

謝謝鬼,而是萬一返回的HTML內容如何在mysqli查詢中獲取false? – Suffii 2014-09-04 03:55:24

+0

我的意思是發送HTML文檔,如回顯'

You Do Not Have Login Permission
'; – Suffii 2014-09-04 03:57:08

+0

@Suffii你真正想要的是什麼'dataType'?一個JSON或HTML?我建議你決定這一點,堅持一個 – Ghost 2014-09-04 03:59:06