【问题标题】:Array multiple values to variable将多个值排列到变量中
【发布时间】:2015-04-01 08:01:48
【问题描述】:

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

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

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

没关系。我得到的值是 11、19 和 20。-这些都是我在表单中选择的数据库中的 ID。

但是我需要这些 ID 来从我的数据库中选择一些东西,并回显数据库中的 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 个值... 当数组发送多个值时,我需要知道如何让它工作.. :/.. 有什么想法吗?

【问题讨论】:

  • 最简单的方法是implode() 您的帖子并在您的查询中使用IN 运算符。

标签: php mysql arrays forms


【解决方案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";
            }   

【讨论】:

    【解决方案2】:
    // 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...
    

    【讨论】:

      【解决方案3】:

      试试这个..

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多