如果不可用,如何选择具有特定ID的记录,然后默认选择记录

时间:2018-11-12 12:52:01

标签: php codeigniter

我有一张桌子

<table style="width:100%">
    <tr>
      <th>serving_name</th>
      <th>price</th>
      <th>store_id</th>
    </tr>
    <tr>
      <td>M</td>
      <td>20</td>
      <td>0</td>
    </tr>
    <tr>
      <td>M</td>
      <td>10</td>
      <td>1</td>
    </tr>
</table>

如果store_id 1不可用,请选择store_id = 1的记录,然后选择0 store_id记录

怎么可能

2 个答案:

答案 0 :(得分:0)

如果您要根据条件查找查询,则可以执行以下操作:

$this->db->select('whatever')->from('your_table');
if ($store_id == 1){ 
    $this->db->where('store_id', 1)
}else if($store_id == $something_else){ 
    // magic 
}
$query = $this->db->get();

答案 1 :(得分:0)

如果$store_id为模板,而所有其他值均为数字且大于0,则在SQL中通过whereorder bylimit子句进行操作

select * from store_table where store_id=42 or store_id=0 order by store_id desc limit 0,1

使用您选择的框架的查询引擎,或者使用mysqli类/函数系列或PDO做自己的数据库接口类/函数。如果您走这条路,请确保使用准备好的语句。