2015-06-14 57 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中,已被點擊。 可能是我有一個錯誤:( –