dozan0001 2016-06-11 12:21
浏览 85
已采纳

Joomla PHP MySQL Query使用MySQL IF功能

So i have a Joomla site and in the joomla documentation I can't find anything to do with MySQL's IF, ELSE function within a query.

The part of the query i need a if statement in MySQL is here.

$query->where($db->quoteName('container').' != 1');

It should be doing something like this :

$query->where('IF '.$db->quoteName('server_number').' != '.$number.' THEN '$query->where($db->quoteName('container').' != 1');' END');

If the $number input does not match with the server_number column data then to add a where statement to the mysql query.

Full MySQL Query :

SELECT a.*,ext.media_type
FROM database_hwdms_processes AS a
LEFT JOIN database_hwdms_media AS media ON media.id = a.media_id
LEFT JOIN database_hwdms_ext AS ext ON ext.id = media.ext_id
WHERE (a.status = 1 || a.status = 3) AND a.attempts < 5 AND `container` != 1 AND
 server = 1
ORDER BY a.media_id ASC

Want to add a "IF server_number != 1 THEN WHERE container != 1 END" would mean replacing "AND container != 1"

  • 写回答

1条回答 默认 最新

  • doushu9253 2016-06-13 00:31
    关注

    I figured out a better way to resolve my problem using MySQL's

    OR ||

    function

    So my fixed code became this :

    PHP :

    $query->where('('.$db->quoteName('server_number').' = '.$number.' || '.$db->quoteName('container').' != 1 )');
    

    In plain MySQL text :

    SELECT a.*,ext.media_type
    FROM database_hwdms_processes AS a
    LEFT JOIN database_hwdms_media AS media ON media.id = a.media_id
    LEFT JOIN database_hwdms_ext AS ext ON ext.id = media.ext_id
    WHERE (a.status = 1 || a.status = 3) AND a.attempts < 5 AND ( `server_number` = 1 || `container` != 1 )AND
     server = 1
    ORDER BY a.media_id ASC
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)