0

tblPlayer(PlayerID, PlayerName,PlayerTeam(int) ) と tblTeams (TeamID, TeamName) の 2 つのテーブルがあります。

PHPページには、選択したプレーヤーを見つける機能があります。機能は次のとおりです。

function find_selected_player() {
    global $sel_player;
    if (isset($_GET['id'])) {
        $sel_player = get_player_by_id($_GET['id']);
    } else {
        $sel_player = NULL;
    }
}

次のように私の他の機能、

function get_player_by_id($player_id) {
    global $conn;
    $query = "SELECT * ";
    $query .= "FROM tblPlayer ";
    $query .= "WHERE PlayerID =" . $player_id ." ";
    $query .= "LIMIT 1";
    $result_set = mysql_query($query, $conn);
    confirm_query($result_set);

    if ($player = mysql_fetch_array($result_set)) {
        return $player;
    } else {
        return NULL;
    }
}

編集するフォームで、次のようなすべての値を取得できます

<input type="text" name="PlayerName" value="<?php echo $sel_player['PlayerName']; ?>" />

しかし... :)逆の方法でコンボボックスを埋めようとすると、そこに行き詰まります。何かを追加するとき、これは魅力のように機能しますが、 $sel_player['PlayerTeam'] は私にIDしか与えません:(

<?php include "conn.php" ?>
<?php include "function.php" ?>
<?php find_selected_player() ?>
<h2>Edit: <?php echo $sel_player['PlayerName'] ." ". $sel_player['PlayerLname']; ?></h2>
<form action="player.php" method="post">
<table>
<tr>
   <td>Name: </td>
   <td><input type="text" name="PlayerName" value="<?php echo $sel_player['PlayerName']; ?>" /></td>
   </tr>
   <tr>
   <td>Lastname:</td>
   <td><input type="text" name="PlayerLname" value="<?php echo $sel_player['PlayerLname']; ?>" /></td>
   </tr>
   <tr>
   <td>Team:</td>
   <td>
        <?php
$sql = "SELECT TeamName, TeamID FROM tblTeam";
$result = mysql_query($sql);

echo '<select name="TeamName"><option>';
echo "Choose a team.</option>";
echo '<option selected>' . $sel_player['PlayerTeam']  . '</option>';
while ($row = mysql_fetch_array($result)) {
    $team_name= $row["TeamName"];
    $team_id = $row["TeamID"];
    echo "<option value=\"$team_id\">$team_name</option>";
}
echo "</select>";
        ?>
    </td>
   </tr>
   <tr>
       <td><input type="submit" name="submit" value="Save" /></td>
       <td align="right">&nbsp;</td>
   </tr>
   </table>
</form>
<?php ob_end_flush() ?>
<?php include ("footer.php") ?>
4

3 に答える 3

0
<?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>";

                            ?>
于 2013-04-28T00:42:11.720 に答える