2015-06-14 49 views
-2

我试图创建一个搜索我的SQL数据库的玩家搜索系统。一切正常,但当我尝试为播放器创建更多信息弹出窗口时,变量实际上并不奏效。PHP和SQL搜索系统变量问题

的PHP & JS代码:

$(document).on('click', '#search-result', function(){ 
 
    $("#myDiv").fadeIn(); 
 
}); 
 

 
$(document).on('click', '#close', function(){ 
 
    $("#myDiv").fadeOut(); 
 
});
<?php 
 
$output = NULL; 
 

 
if(isset($_POST['submit'])) { 
 
    $mysqli = NEW MySQLi ("localhost", "root", "", "textus"); 
 

 
    $search = $mysqli->real_escape_string($_POST['search']); 
 

 
    $resultSet = $mysqli->query("SELECT * FROM players WHERE player_name LIKE '%$search%' ORDER BY kills DESC LIMIT 10"); 
 

 
    if($resultSet->num_rows > 0) { 
 
     while($rows = $resultSet->fetch_assoc()) 
 
     { 
 
      $player_name = $rows['player_name']; 
 
      $kills = $rows['kills']; 
 
      $current_team = $rows['current_team']; 
 

 
      $output = " <div id=\"myDiv\">\n 
 
         <div id=\"player-popup-name\">$player_name</div> 
 
         <div id=\"close\">X</div>\n 
 
         <img id=\"player-popup-model\" src=\"http://www.minecraft-skin-viewer.net/3d.php?layers=true&aa=true&a=0&w=0&wt=0&abg=0&abd=0&ajg=0&ajd=0&ratio=8&format=png&login=$player_name&headOnly=false&displayHairs=true&randomness=104\" 
 
         \n 
 
         </div>\n 
 
         \n 
 

 
         </div>\n 
 

 

 
         <a id=\"search-result\">\n 
 
         <div id=\"player-head\">\n</div>\n 
 
         <img id=\"search-result-player_head\" src=\"http://www.minecraft-skin-viewer.net/3d.php?layers=true&aa=true&a=0&w=310&wt=50&abg=330&abd=40&ajg=340&ajd=20&ratio=13&format=png&login=$player_name&headOnly=true&displayHairs=false&randomness=396\" height=\"45px\" width=\"45px\">\n 
 
         <div id=\"search-result-player_name\">$player_name</div>\n 
 
         <div id=\"search-result-team_name\">$current_team</div>\n 
 
         <div id=\"search-result-kills\">$kills</div>\n 
 
         <div id=\"search-result-banner\"></div>\n 
 
         </a>\n 
 

 
     
 
    
 

 

 

 

 
         "; 
 
      echo "$output"; 
 
     } 
 
    }else{ 
 
     $output = "<div id=\"no-result\">Ingen spelare hittad, sök igen...</div>"; 
 
     echo "$output"; 
 
    } 
 
} 
 
?>

这是它的样子:

我没有10代表所以这里是一个gyazo链接:http://i.gyazo.com/4395819df524124614246612aa2c5bd8.png

搜索正常工作,但我想说,我点击第一个资源ULT并希望SE更多信息以

这是什么样子时,我按清单的第一个结果: http://i.gyazo.com/b2ab39572c0148b5376beb0c2928e800.png

而这也是我多么希望它。但这是问题。 如果我点击列表中的任何其他结果,我会得到与第一个结果相同的变量。例如,如果我按第三个结果,如果按第一个结果,我仍会得到与我相同的弹出窗口。

如果我更改搜索并单击它仍然使用第一个结果变量。

所以,我需要帮助的是我如何使每个结果使用它自己的变量弹出/更多信息的div。

+0

所有结果具有相同的ID - 不好的做法 –

回答

0

尝试使用:

$(document).on('click', '#search-result', function(){ 
    $(this).find("#myDiv").fadeIn(); 
}); 

$(document).on('click', '#close', function(){ 
    $(this).find("#myDiv").fadeOut(); 
}); 
+0

有了建议您选择它甚至不会工作。任何想法,为什么? – Robbac

+0

提示:你的代码有一些div(例如3)和相同的id。当使用此代码时: $(“#myDiv”)。fadeOut(); js如何理解它的所有div是fadeOut? 我想你应该使用一些关于“this” - 建设$(this).find(“#myDiv”)应该找到div与id =“myDiv”在一个div中,已被点击。 可能是我有一个错误:( –