将多个值排列到变量
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 "
∙ 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 "
∙ 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')";
作为学校项目的一部分,我需要一点帮助来制作一个网站.. 我有多个 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 "
∙ 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 "
∙ 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')";