Javascript Foreach循环只回显数据库中的一行

Javascript Foreach循环只回显数据库中的一行,javascript,php,jquery,Javascript,Php,Jquery,这就是我的代码所做的:当在类型输入字段中键入用户名时,如果键入的值与数据库表用户的行值匹配,那么我的jquery代码将起作用。然后,我的jquery代码将显示隐藏的div,其中包含键入用户名的文本。我的问题是,我当前的代码忽略了其他键入的用户名,并且由于某些原因,只会显示一个用户名。我的问题的例子: allen <-- "allen" is typed in input field -------- [allen] <-- hidden div for allen now s

这就是我的代码所做的:当在类型输入字段中键入用户名时,如果键入的值与数据库表用户的行值匹配,那么我的jquery代码将起作用。然后,我的jquery代码将显示隐藏的div,其中包含键入用户名的文本。我的问题是,我当前的代码忽略了其他键入的用户名,并且由于某些原因,只会显示一个用户名。我的问题的例子:

 allen   <-- "allen" is typed in input field
--------
[allen]  <-- hidden div for allen now shows

 pete
-------- <-- "pete" is typed in input field
         <-- but hidden div for pete does not show. Why?
@MohammadBagheri-以下代码的输出:

$stmt = $conn->prepare("SELECT userid, username FROM usern");
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
    echo '<pre>'.print_r($row, 1).'</pre>';
}
$stmt->close();

我知道问题是什么

您一直在选择循环最后一次出现的userid,并在jquery代码中设置它,这意味着它将始终向用户显示该用户id,而不检查您输入的内容


如果你需要更多的帮助,请告诉我

@mohammedbagheri我非常感谢你的帮助。但出于某种原因,我正在测试你的脚本,但它似乎不起作用。是因为我的sql代码干扰了它吗?我编辑了我的问题并添加了我的sql代码。@misner3456您是否使用PDO和mySql作为连接驱动程序和数据库?@mohammedbagheri感谢您的回复。我没有使用PDO,我使用的是程序性mysqli来连接数据库。我也在使用phpmyadmin。@misner3456你能给我以下代码的输出吗:$stmt=$conn->prepareSELECT userid,usern中的username$stmt->execute$结果=$stmt->get\u结果;而$row=$result->fetch_assoc{echo;}$stmt->close;很抱歉,我完全忘记了这个问题。我对我的问题进行了编辑,以包含您刚才提供给我的代码的输出。非常感谢你坚持这个案子
$stmt = $conn->prepare("SELECT userid, username FROM usern");
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
  $userids[] = $row['userid'];
  $usernames[] = $row['username'];
}
$stmt->close();
$stmt = $conn->prepare("SELECT userid, username FROM usern");
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
    echo '<pre>'.print_r($row, 1).'</pre>';
}
$stmt->close();
Array
(
    [userid] => 35
    [username] => pete
)

Array
(
    [userid] => 44
    [username] => allen
)
<input id="type">
<?php foreach (array_combine($userids, $usernames) as $userid => $username): ?>
<div id="border<?php echo $userid; ?>" style="display: none;">
    <input id="username<?php echo $userid; ?>" value="<?php echo $username; ?>" type="radio">
    <label for="username<?php echo $userid; ?>"><?php echo $username; ?></label>
</div>  
<?php endforeach; ?>

$("#type").on('input',function(){
    var username = $(this).val();
    var userid = $("input[value='"+username+"']").attr("id");

    $("div[id^=border]").css("display", "none");
    $("#border"+userid).css("display", "block");
});