我为我的网站建立了一个广告系统,首先尝试根据位置和类别找到特定的广告。失败意味着它选择只基于位置,失败意味着它选择了一个通用的广告:建立一个if语句到mysqli搜索
$sql = "SELECT * FROM ads WHERE city='$city' AND category='$category' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
if(mysqli_num_rows($user_query)==0){
$sql = "SELECT * FROM ads WHERE city='$city' AND category='All' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
if(mysqli_num_rows($user_query)==0){ // 'City' is the generic all locations
$sql = "SELECT * FROM ads WHERE city='City' AND category='All' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
}
}
我想这可能可以写一个mysqli的语句来完成所有3级的操作,但似乎没有什么正常工作。 (我尝试使用各种版本的联盟和限制1)。 是否有可能做这样的事情,还是最好保持原样?
您可能会更好地创建一个SQL存储过程来计算逻辑,而不是在应用程序和数据库之间来回切换。 – Reisclef