【问题标题】:PHP multiple arraw selected from database从数据库中选择的 PHP 多个箭头
【发布时间】:2019-02-15 08:02:23
【问题描述】:

您好,请问有人可以对此提出想法吗?
我希望在与他们的 ID 匹配时选择数据,但是当我尝试这样做时,一些数据不会被选择,只显示我如何才能通过他们的 ID 选择它?
在这个数组中它可以工作:

[0] => 1 [1] => 2 [2] => 3

在这个数组中它不起作用:

[0] => 20 [1] => 21 [2] => 22 [3] => 23 [4] => 24 
$stat = $dbh->prepare("SELECT * FROM department");
$stat2 = $dbh->prepare("SELECT * FROM docprivacy WHERE doc_id = $id ORDER BY dep_id");   

$stat2->execute();

$array = array();

while ($row3 = $stat2->fetch()) {
    extract($row3);
 array_push($array, $row3['dep_id'] )    ; 
}

$stat->execute();
$i = 0 ;

while($row = $stat->fetch()){
    extract($row);
    while ( $i < count($array)) {
        # code...

     if ($row['d_id'] == $array[$i]){
       echo "<option value = '{$d_id}' selected>".$row['department']."</option>";
      }else{
        echo "<option value = '{$d_id}'>".$row['department']."</option>";
    }

    $i++;
  }
}

【问题讨论】:

  • 错误在哪里?
  • 您的问题不清楚,请提供您正在寻找的数据示例以及您实际获得的数据。
  • 我想要的是当我运行某些数据时,我希望在下拉列表中选择部门,而某些数据不会被选择而只显示
  • andrew,请编辑您的问题(而不是在 cmets 中增强它)
  • $d_id更改为$row['d_id'](也不要隐藏代码)发布所有相关部分

标签: php arrays database multiple-columns dropdown


【解决方案1】:
if (in_array($row['d_id'], $array ))
  {
     echo "<option value = '{$row['d_id']}' selected>".$row['department']."</option>";
  }
else
  {
    echo "<option value = '{$row['d_id']}'>".$row['department']."</option>";
  }

【讨论】:

  • 即使这个答案似乎有效,最好添加解释而不仅仅是代码
  • $stat 结果存储到 $array 并且 $stat2 结果通过 while 循环我们使用 in_array 检查 $array 中的部门 ID
  • 我会用下面的例子来解释 $array = array ("1","2","3"); $array1 = 数组 ("1","4","5"); foreach($array1 as $arr) { if(in_array($arr, $array )) { echo "same"; }else{ 回声“不一样”; } }
  • 我的意思是在你的答案中添加解释(编辑它),让它不仅仅是代码,而且还有教育意义(值得投票)
  • 是的,你的答案是我真正需要的,而且工作完美,谢谢!!
【解决方案2】:

我认为这一行的错误

$i = 0 ;

在第一个循环之后,$i 已经超过了 $array 计数。所以它不执行。 移到。

while($row = $stat->fetch()){
    extract($row);
    $i = 0 ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多