通过搜索从两个表插入id

时间:2018-03-26 20:11:58

标签: php mysql

我尝试将ID与用户和管理员相关联,管理员可以在管理员登录时搜索用户。

搜索功能有效,并显示正确的内容。

但是,当管理员要连接用户时,只有管理员的ID存储在数据库中,不会从表单中检索用户的ID。

有什么建议吗?

$seartch=$_POST["seartch"];

$sql = "SELECT * FROM `user` WHERE `u_fName` LIKE '%$seartch%' OR u_lName LIKE '%$seartch%' ";

$result = mysqli_query($conn, $sql) or die ("error.");
$queryResults = mysqli_num_rows($result);

if ($queryResults == 0) {
  print("<br> no seartch");
} else {
    for ($i=1; $i <=$queryResults; $i++) {
      $row=mysqli_fetch_array($result);
      $uidU = $row["u_id"];
      $first=$row["u_fName"];
      $last=$row["u_lName"];

      echo "<form method='POST' action='' role='form'>
        <tbody>
          <tr>
            <br>
            <td name='id' id='id' value='$uidU'> $first $last
            <button type='submit' class='btn btn-outline-success' name='registrate'>add</button>
            </td>
          </tr>
        </form>";
    }
  }
}

if (isset($_POST['registrate'])) {

  $uidU=$_POST["id"];

  $sql = "INSERT INTO `connection` (`u_id`, `admin_id`) VALUES ('$uidU', '$uidAdm');";
  $result = mysqli_query ($conn, $sql) or die ("error");
  print("<br> saved");
  exit();
}

1 个答案:

答案 0 :(得分:-1)

第一个问题 - 您的HTML无效,没有理由在循环中创建表单的多个实例,因此在WHILE循环中,您需要删除标记并将其替换为循环。

第二个问题 - 您正在使用与表相关的标签,但实际上并未创建表格。所以我已经从WHILE循环中删除了它。

因为您错误地使用了<td>标记。 <td>没有值参数,而<input>则没有。请尝试以下方法:

echo "$first $last
<button type='submit' class='btn btn-outline-success' name='registrate'>add</button>
<input type='hidden' name='id' value='$uidU'>";

这使用隐藏输入将值传递给您的逻辑。