Php 检查值,然后指向不同的页面

Php 检查值,然后指向不同的页面,php,javascript,jquery,jquery-mobile,cordova,Php,Javascript,Jquery,Jquery Mobile,Cordova,我正在使用jquery mobile开发android应用程序。我在应用程序中有多个页面。除index.html之外的所有页面都是数据库驱动的 我希望该id的特定链接没有任何细节在数据库中,那么它不应该被定向到转发页面。我制作了javascript函数来检查这一点,但它不起作用 function check_category(b_id){ $.ajax({ url:'http://localhost/ajax_practice/php/get_categories.php?b_

我正在使用jquery mobile开发android应用程序。我在应用程序中有多个页面。除index.html之外的所有页面都是数据库驱动的

我希望该id的特定链接没有任何细节在数据库中,那么它不应该被定向到转发页面。我制作了javascript函数来检查这一点,但它不起作用

function check_category(b_id){

$.ajax({
        url:'http://localhost/ajax_practice/php/get_categories.php?b_id='+b_id,
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success:function(data,status){

            if(data.success==0){
                return false;
            }else{
                return true;
            }
        }
    });             
}
PHP代码:

<?php
    header('Content-type: application/json');

    include 'connect.php';

    $b_id=$_GET['b_id'];


    $sql_select=mysql_query("SELECT * FROM businesses JOIN business_category ON business_category.b_id = businesses.id WHERE b_id=$b_id") or die(mysql_error());

    $records = array();

    if(mysql_num_rows($sql_select)>0){

        while($row=mysql_fetch_array($sql_select)){
            $records[] = $row;  
        }
        //print_r($records);
        echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
    }else{

        $records= array(
            'success'=>0,
        );  
        echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
    }

?>


基本上我想要的是,如果与该业务出口相关的数据在category表中,那么它必须返回true,否则返回false;因此href没有设置为true或false。

如下修改脚本:

function check_category(b_id){

$.ajax({
    url:'http://localhost/ajax_practice/php/get_categories.php?b_id='+b_id,
    dataType: 'json',
    timeout: 5000,
    success:function(data,status){

        if(data.success==0){
            return false;
        }else{
            return true;
        }
    }
   });             
}
并编辑您的php:

   if(mysql_num_rows($sql_select)>0){
        $records['success']=1;
        while($row=mysql_fetch_array($sql_select)){
            $records['data'][] = $row;  
        }

    }else{
        $records['success']=0;
    }
    echo json_encode($records);

旁注:停止使用不推荐的
mysql.*
函数。改用MySQLi或PDO。在jquery移动应用程序中,是否有其他方法可以使用,如果数据库中存在与该链接相关的数据,则必须加载页面,否则不要加载页面。有很多方法可以实现这一点。这取决于您的应用程序结构。也许您可以回显一个javascript数组,该数组只包含其中包含数据的类别,并且可以跳过对id不在该数组中的类别的ajax调用。