将多个值排列到变量

Array multiple values to variable

作为学校项目的一部分,我需要一点帮助来制作一个网站.. 我有多个 select 表单,将值作为数组发送。

现在,如果我使用 print_r($_POST);看看我得到了什么。

我看到我得到 [tilbehor] => 数组 ( [0] => 11 [1] => 19 [2] => 20 ) 来自 "tilbehor" 表单域。

没关系。我得到的值是 11、19 和 20。-这些都是我的数据库中的 ID selected 形式。

但我需要这些 ID select 来自我的数据库的东西,并回显结果,其中数据库中的 ID = 来自数组的 ID...

现在我使用的代码有效,但前提是从表单字段发送一个值 "tilbehor" 我正在使用此代码将发送的表单字段转换为变量。

$t_id = $_POST['tilbehor']

这让它显示数据库中 ID 为 mach 的所有内容的名称

$query = "SELECT * FROM tilbehor WHERE t_id='$t_id'";
$result = $db->query($query);
$num_rows = $result->num_rows;
 if($num_rows > 2) {
  while($row = mysqli_fetch_array($result)) {
   echo "
   &#8729; 1 stk - <b>".$row['tilbehor_navn']."</b><br>
   ";
  }
  } else {
  echo "Der er ikke valgt noget tilbehor";
  } 

但这行不通,因为它只能处理 WHERE = 语句中的 1 个值... 当从数组发送多个值时,我需要知道如何让它工作。:/..有什么想法吗?

$t_id = $_POST['tilbehor'];
$t_id=implode(',',$t_id);//impload the value with the ',' and used IN operate to get all the value relate this id  (11, 19 and 20)
$query = "SELECT * FROM tilbehor WHERE t_id IN ($t_id)";
//"SELECT * FROM tilbehor WHERE t_id IN (11,19,20)"
    $result = $db->query($query);
    $num_rows = $result->num_rows;
        if($num_rows > 2) {
            while($row = mysqli_fetch_array($result)) {
                echo "
                &#8729; 1 stk - <b>".$row['tilbehor_navn']."</b><br>
                ";
            }
            } else {
            echo "Der er ikke valgt noget tilbehor";
            }   
// Join array with comma separator
$ids = implode(',', $_POST['tilbehor']);
// Create the sql statement
$sql = "SELECT * FROM tilbehor WHERE t_id IN($ids)";
// Execute sql here...

试试这个..

$ids = array('11', '19', '29');

$ids = implode(',', $ids);
$query = "SELECT * FROM tilbehor  WHERE t_id IN ('$ids')";