如果列包含值,则不要在php

时间:2018-08-29 10:48:58

标签: php mysql

所以,我在PHP中使用了随机函数:

$SELECT * FROM add_question WHERE section_id = :section_id AND status = :status ORDER BY RAND() LIMIT {$row_random['total_question']}";

我的数据库表中有一个名为“指令”的列。它不是必填列。 但如果存在,则3至5行(连续3至5行)中存在相同的数据。 所以我需要以这种方式使用随机函数: 如果指令列包含数据,则连续而不是随机地获取包含相同数据的所有行。并且,如果指令列为空,则获取随机行

例如:

ID  |  INSTRUCTION  |  QUESTION  | OPT1 | OPT2 | OPT 3
 1  |               |    q1      |    a |    b | c 
 2  |               |    q2      |    a |    b | c 
 3  |               |    q3      |    a |    b | c 
 4  |               |    q4      |    a |    b | c 
 5  |               |    q5      |    a |    b | c 
 6  | ins           |    q6      |    a |    b | c 
 7  | ins           |    q7      |    a |    b | c 
 8  | ins           |    q8      |    a |    b | c 
 9  |               |    q5      |    a |    b | c 
 10 |               |    q5      |    a |    b | c 
 11 |               |    q5      |    a |    b | c 
 12 |               |    q5      |    a |    b | c 
 13 |               |    q5      |    a |    b | c 

如果上表中的10行使用了随机函数,则应返回: ids(1,2,3,4,5,9,10,11,12,13) OR ID(1,2,3,4,5,6,7,8,9,10)。 如果返回ID'6',则还应返回ID 7,8,共10行。带有说明的ID应该返回all或NONE。如果全部都返回了,则它们应该是连续的顺序(而不是7、8、6)等等。

0 个答案:

没有答案