2014-09-04 70 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