codecamp

Joomla 在查询中使用OR

当在查询语句中使用多个WHERE时,默认是使用AND来来链接的。

多个WHERE 默认为AND链接

下面的查询值会返回name字段和state字段同时匹配的结果。

$state = 1;
$query =$db
    ->getQuery(true)
    ->select('COUNT(*)')
    ->from($db->quoteName('#__zmaxuser_item'))
    ->where($db->quoteName('name') ." = " .$db->quote(‘张敏’) 
    ->where($db->quoteName('state') ." = " .$db->quote($state));

 为了实现OR的效果,需要对查询语句作出修改,代码如下:

$query =$db
    ->getQuery(true)
    ->select('COUNT(*)')
    ->from($db->quoteName('#__my_table'))
    ->where($db->quoteName('name') ." = " .$db->quote($name_one),'OR')
    ->where($db->quoteName('name') ." = " .$db->quote($name_two));

 在第一个where的后面,明确的说明使用OR来链接。

使用orwhere

使用orwhere可以改变条件为or 而不是 and.代码如下:

$query =$db
    ->getQuery(true)
    ->select('COUNT(*)')
    ->from($db->quoteName('#__my_table'))
    ->where($db->quoteName('name') ." = " .$db->quote($name_one)
    ->orWhere($db->quoteName('name') ." = " .$db->quote($name_two));


Joomla 使用Union方法
Joomla 更新记录
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

处理URL请求参数

Joomla 错误和调试

Joomla 缓存

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }