在数组SQL中

时间:2018-08-08 15:27:31

标签: php sql where-in

更新:如果sched_id = 2 {输出user1,user2,user4,user5}

您能帮我这个忙吗?.Bcoz现在,当我运行代码时,使用WHERE IN ..只能找到第一个数字。或者还有另一种方法来获取/搜索数组SQL的值以在WHERE中使用。谢谢!

Click to view the IMAGE

     <?php

 $dbServername = "localhost"; //servername
 $dbUsername = "root"; //database username
 $dbPassword = ""; //database password
  $dbName = "test_db"; //database name

 //Create connection
 $conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

  if(isset($_POST["sched_id"]))  
  { 

 $sched_id = $_POST["sched_id"];

?>
  <!-- Col-12 -->
        <div class="col-md-12">

          <?php

           $sql = "SELECT user.Schedule_ID, user.FullName FROM user

            WHERE $sched_id IN (Schedule_ID) AND user.UserType = 0";
           $results = mysqli_query($conn, $sql);
           $row = mysqli_fetch_assoc($results);

            ?>
           <div class="row">
           <?php
           foreach ($results as $i => $result) :
             $rows = ceil(count($result) / 3); 
           ?>
             <?php if($i % $rows === 0 && $i !== 0): ?>
             </div><div class="row">
           <?php endif;?>

           <div class="col-sm-4">
            <?php echo $result['FullName']; ?>
           </div>
           <?php endforeach;?>

        </div>

      </div>

   <?php } ?>

Schedule_ID由数组值组成。

1 个答案:

答案 0 :(得分:2)

使用尝试FIND_IN_SET(str,strlist)

SELECT user.Schedule_ID, user.FullName 
FROM user 
WHERE 
FIND_IN_SET($sched_id, user.Schedule_ID) > 0
AND user.UserType = 0