2013-04-28 4 views
0

Я пытаюсь внедрить выпадающий список на страницу обновления, он отлично работает, но у меня возникают проблемы с выбранной частью. Когда опция показана, она также дублирует ее в списке. Можно ли сказать, что если запись используется, не используйте ее снова с PHP?Население выпадающий список с PHP без дубликатов

<?php 

         $sql = "SELECT TeamName, TeamID FROM tblTeam"; 
         $result = mysql_query($sql); 
         $player_id = $_GET['id']; 
         $current_team = mysql_query("SELECT 
             tblteam.TeamID, 
             tblteam.TeamName, 
             tblplayer.PlayerID, 
             tblplayer.PlayerTeam, 
             tblplayer.PlayerName 
             FROM 
             tblplayer 
             INNER JOIN tblteam ON tblplayer.PlayerTeam = tblteam.TeamID 
             WHERE PlayerID = $player_id LIMIT 1 "); 
         $my_row = mysql_fetch_array($current_team); 
         ?> 
         <select name="TeamName"> 

          <option selected value="<?php echo $my_row['TeamID']; ?>"> <?php echo $my_row['TeamName']; ?> </option> 
          <?php 
          while ($row = mysql_fetch_array($result)) { 
           $team_name= $row["TeamName"]; 
           $team_id = $row["TeamID"]; 
           echo "<option value=\"$team_id\">$team_name</option>"; 
          } 
          echo "</select>"; 
?> 

ответ

2

Похоже, что просто, если условие будет решить дело для вас:

while ($row = mysql_fetch_array($result)) { 
    $team_name= $row["TeamName"]; 
    $team_id = $row["TeamID"]; 
    if($team_id != $my_row['TeamID']){ 
     echo "<option value=\"$team_id\">$team_name</option>"; 
    } 
} 

Кроме того, вы всегда должны дезинфицировать $ _GET/$ _POST Params, в вашем примере:

$player_id = intval($_GET['id']); 

Intval вернет 0, если данный формат не является числовым, поэтому ваш запрос sql безопасен с этого момента.

+0

Спасибо :) работал как шарм. Также я использую его вверху страницы if (intval ($ _ GET ['id']) == 0) { redirect_to ("index.php");} перед всем остальным. : D не уверен, что это правильный путь. – cevizmx

+0

Нет проблем. Ваша проверка достаточно хороша :) – s3m3n

Смежные вопросы