0

名前を入力する検索ボックスがあり、一致する名前のリストが ajax を使用して表示されます。名前の横にポップアップするdivもあります。クリックすると、別のdivがポップアップし、その中でdivが一致する人の名前が表示されます。

これが私のコードです:

PHP:

<?php
    require 'core.inc.php';
    require 'connect.inc.php';

if (!empty($_GET['letter'])) {
    $letter = $_GET['letter'];

    $query = "SELECT `first name`, `last name` FROM `users` WHERE `first name` LIKE '".$letter."%'";
    $query_run = mysql_query($query);

    while ($query_row = mysql_fetch_assoc($query_run)) {
        $first_name = $query_row['first name'];
        $last_name = $query_row['last name'];

        echo $first_name;
        echo " ".$last_name;    
?>
    <div id="popup" onclick="popup();"><input type="hidden" id="friend_name" name="friend_name" value="<?php print "$first_name"; print "$last_name"; ?>"></div> 
<?php
        }
    }
?> 

これはすべて機能し、すべての名前を取得して一覧表示します。入力値を姓と名に等しく設定して、JavaScriptで取得できるようにします。

Javascript:

function popup() {
    var popupBox = document.createElement("div");
    popupBox.id = "popupBox";
    popupBox.innerHTML = document.getElementById('friend_name').value;
    popupboxHolder.appendChild(popupBox);
}; 

これは、名前が 1 つしか表示されない場合は正常に機能しますが、2 つの名前が表示され、2 番目のdivをクリックすると、2番目の人の名前ではなく、最初の人の名前がポップアップ ボックスに表示されます。

4

3 に答える 3