将存储在mssql中的多维数组作为多行进行爆炸

时间:2016-11-15 04:41:08

标签: php arrays sql-server

我正在尝试明天安排会议并从ms sql表中以逗号分隔值保存的行中获取用户ID,使用id我必须从另一个表中获取他们的联系号码我在这里试过这样的事情我只能获得第一个数组的值我知道我在这里做错了但我不知道在哪里

    $date=date("d-m-Y", time()+86400);
    $start_time=strtotime($date.", 12:01 AM");
    $end_time=strtotime($date.", 11:59 PM");
    $sql=$db->Query("select * from pp_meeting where m_date > ? and m_date < ?", array($start_time, $end_time));

    while($row=$db->FetchRow($sql)){
        $users[]=explode(",", $row['m_users']);
        foreach($users as $us){
                foreach($us as $u){
                $sql=$db->Query("select contact_no from pp_users where user_id=?", array($u));
                echo $result=$db->FetchOne($sql);echo "<br/>";
                }
            }
        }

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用1个嵌套查询而不是循环查询

"select contact_no from pp_users where user_id in  
(select user_id from pp_meeting where m_date > ? and m_date < ?)"  

或者您可以使用加入

"select contact_no  
from pp_users join pp_meeting on user_id=user_id  
where m_date > ? and m_date < ?"