在一个查询中选择多个字段但不同的行

时间:2014-11-15 20:01:34

标签: php mysqli

我正在尝试根据成员资格级别选择数据库数据。如果成员为1级,他/她将显示1级数据,如果他/她是2级,则他们将看到1级和2级数据。

这是一个表格示例:

member| membership_level 
------|----------------
john  |  1
------|-----------------
andy  |  2

然后我有PHP代码,它基于membership_level呈现数据,如下所示:

<?php if($userMember_level == 1) {  ?>
Show data for membership level 1
<?php }elseif($userMember_level == 2) {  ?>
Show data for membership level 1 And membership level 2

这是我的Mysqli声明:

//connect to database
require_once("../../db_query/connection.php");

$sql = "SELECT id,title,postdate FROM getting_started WHERE membership_level = ? AND active = ? AND membership_level = ? ORDER BY id DESC";
$stmt = $con->prepare($sql);
$stmt->bind_param('iii',$b=1,$a=1,$c=2);

$stmt->execute();

$stmt->store_result(); 
$numrow = $stmt->num_rows;
if($numrow >0){

$stmt->bind_result($id, $title, $postdate);

while($stmt->fetch()){ }

?>

<div class="resultWrap"> ...

我没有收到任何错误,但我也没有得到任何结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您正在寻找的SQL是:

$sql = "
    SELECT id,title,postdate
    FROM getting_started
    WHERE membership_level IN (?,?)
    AND active = ?
    ORDER BY id DESC
";
$stmt->bind_param('iii',1,2,1);