gpt4 book ai didi

php - 如何从 php 和 mysql 中已填充的表创建 View ?

转载 作者:行者123 更新时间:2023-11-29 19:09:59 25 4
gpt4 key购买 nike

美好的一天,
我对此还很陌生,任何建议都将受到高度赞赏。

我创建了一个包含运动队球员的数据库。现在我想使用显示的表格为将与球队一起选择的球员创建一个 View ,以显示球队表。

我找不到让它发挥作用的方法。我想添加一个提交按钮或类似的东西,以便所有选中的玩家都填充到 View 中并随后显示以进行打印。
任何建议将不胜感激。

显示的表格:

<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>School</th>
<th>Age</th>
<th>Age Group</th>
<th>Edit</th>
<th>Delete</th>
<th>Add to Team</th>

<form action="" method="post">
</tr>
</thead>
<!-- Table body -->
<tbody>
<?php foreach($result as $index => $row) : ?>
<tr>
<td align="left"><?php echo $row['Name']; ?></td>
<td align="left"><?php echo $row['Surname']; ?></td>
<td align="left"><?php echo $row['School']; ?></td>
<td align="left"><?php echo $row['Age']; ?></td>
<td align="left"><?php echo $row['age_group']; ?></td>
<td><a href="edit_player.php" title="Edit" onclick="return confirm('Confirm Player Delete ?')"></span> Edit</td>
<td><a href="" title="Delete" onclick="return confirm('Confirm Player Delete ?')"></span> Delete</td>
<td><input type="checkbox" name="add_to_team"/>Add to Team </span></td>
</tr>
</tbody>

玩家的表结构:

+---------------------------------------+
| `Name` text NOT NULL, |
| `Surname` text NOT NULL, |
| `Id_num` varchar(13) NOT NULL, |
| `School` text NOT NULL, |
| `Age` varchar(2) NOT NULL, |
| `Address` varchar(200) NOT NULL, |
| `Address2` varchar(20) NOT NULL, |
| `City` varchar(20) NOT NULL, |
| `Postal_code` varchar(4) NOT NULL, |
| `player_pic` longblob NOT NULL, |
| `birth_cert` longblob NOT NULL, |
| `Club` varchar(30) NOT NULL, |
| `age_group` varchar(8) NOT NULL, |
| `DOB` varchar(11) NOT NULL, |
| `posistion` varchar(30) NOT NULL, |
| `contact` varchar(10) NOT NULL, |
| `f_name` varchar(30) NOT NULL, |
| `f_phone` varchar(30) NOT NULL, |
| `f_email` varchar(50) NOT NULL, |
| `m_name` varchar(30) NOT NULL, |
| `m_phone` varchar(30) NOT NULL, |
| `m_email` varchar(50) NOT NULL, |
| `medical_aid` varchar(30) NOT NULL, |
| `med_num` varchar(15) NOT NULL, |
| `med_card` blob NOT NULL, |
| `ice_name` varchar(20) NOT NULL, |
| `ice_surname` varchar(20) NOT NULL, |
| `ice_number` varchar(20) NOT NULL, |
| `jersey_size` varchar(5) NOT NULL, |
| `short_size` varchar(5) NOT NULL, |
| `golf_shirt` varchar(5) NOT NULL |
+---------------------------------------+

团队的表结构:

+-------------------------------------+
| `Club` varchar(20) NOT NULL, |
| `Name` varchar(20) NOT NULL, |
| `Surname` varchar(20) NOT NULL, |
| `Posisiton` varchar(20) NOT NULL, |
| `Picture` blob NOT NULL, |
| `Team` varchar(5) NOT NULL, |
| `date` date NOT NULL, |
| `Id_num` varchar(13) NOT NULL |
+-------------------------------------+

最佳答案

我猜您的 PlayersTeams 表中的 Id_num 列是唯一标识符。这是一个猜测,因为通常这种唯一标识符被定义为类似这样的整数,以保证它们是唯一的。

    ...
Id_Num INT NOT NULL AUTO_INCREMENT,
...
PRIMARY KEY (Id_Num),
...

无论如何,如果您要在玩家和团队之间建立关系,您有两个选择。

第一选择:如果一名玩家只能在一个团队中:

这在我们的行业中被称为一对多关系。一支球队,多名球员。

Players 表中添加一个名为 Team_Id_Num 的列。当您将一名球员分配给一个球队时,更新该球员的行并将球队的 Id_Num 值放入该球员的该列中。

然后,要获取团队中的所有玩家,请使用如下 JOIN 查询:

   SELECT Teams.Name, Teams.Club, Players.Surname, Players.Name
FROM Teams
JOIN Players ON Players.Team_Id_Num = Teams.Id_Num
WHERE Teams.Club = 'Manchester United'

最后,如果你真的想要一个 SQL VIEW,你可以这样做

  CREATE VIEW Roster AS
SELECT Teams.Name TeamName, Teams.Club, Players.Surname, Players.Name
FROM Teams
JOIN Players ON Players.Team_Id_Num = Teams.Id_Num

然后通过说来查询

      SELECT * FROM Roster WHERE Club = 'Arsenal'

第二选择:如果一名球员可以加入多个球队。

这在我们的行业中被称为多对多关系。许多团队,许多玩家。

添加一个新表,其中包含两列,名为 Players_Teams。该表定义了球员和球队之间的关系。这些是列。有时称为连接表。

 Players_Id_Num
Teams_Id_Num

当您将一名球员分配给一个球队时,请在此表中插入一行,其中包含该球员和相关球队的 Id_Num 值。

如果球队后来解雇了该球员,请删除相应的行。

然后,要获取团队中的所有玩家,请使用如下 JOIN 查询:

   SELECT Teams.Name, Teams.Club, Players.Surname, Players.Name
FROM Teams
JOIN Players_Teams ON Teams.Id_Num = Players_Teams.Teams_Id_Num
JOIN Players ON Players_Teams.Player_Id_Num = Player.Id_Num
WHERE Teams.Club = 'Manchester United'

最后,如果你确实想要一个 SQL View ,你可以像这样创建它

   CREATE VIEW Roster AS
SELECT Teams.Name TeamName, Teams.Club, Players.Surname, Players.Name
FROM Teams
JOIN Players_Teams ON Teams.Id_Num = Players_Teams.Teams_Id_Num
JOIN Players ON Players_Teams.Player_Id_Num = Player.Id_Num

并按照我之前展示的相同方式进行查询。

关于php - 如何从 php 和 mysql 中已填充的表创建 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com