gpt4 book ai didi

php - 数据库显示错误 - Webmatrix

转载 作者:行者123 更新时间:2023-11-29 23:20:57 24 4
gpt4 key购买 nike

我是这个网站的新手。我正在开发我的第一个包含数据库的网站。我决定按照网上找到的实验室教程在 Webmatrix 中创建一个网站,然后创建一个显示数据的网页。我完成了数据库的创建,但现在无法正确显示它们。下面是我目前遇到问题的代码。给出的实验室代码没有引用//PLayer.firstname 到//WHERE Players.team = Teams.teamiD";但是当我引用它时,我没有收到错误,但由于某种原因它显示了玩家因此,如果我要添加另一支球队,每个球员将被列出 4 次,而不是 5 次。基本上,数据库包含 2 个与 team 和 teamID 相关的表。当我在数据库中执行查询来搜索玩家时,它只显示他在一个团队中,因此我假设现在编写此代码的方式是循环每个团队的每个玩家。谁能帮帮我

   `@{  
    var db = Database.Open("Baseball");
    var selectQueryString = "SELECT * FROM Players, Teams";
        //@"SELECT TOP 10
          // Players.firstname,  
          // Players.lastname,  
          // Teams.teamname,  
          // Players.runscore
      // FROM Players, Teams  
       // WHERE Players.team = Teams.teamiD";

}
<!DOCTYPE html>
<html lang="en">
    <title>Players standings</title>
    <style>
        h1 {font‐size: 20px;}
        table, th, td {
          border: solid 1px #bbbbbb;
          border‐collapse:collapse;
          padding:5px;
        }
     </style>
  </head>
  <body>
    <h1>Players' championship ‐ standings</h1>
    <table>
        <thead>
            <tr>
                <th>Players</th>
                <th>Team</th>
                <th>runscore</th>
            </tr>
        </thead>
        <tbody>
             @foreach(var row in db.Query(selectQueryString)){
             <tr>
                  <td>@row.firstname  @row.lastname</td>
                 <td>@row.teamname</td>
                  <td>@row.runscore</td>
             </tr>
            }
        </tbody>
    </table>
   </body>
</html>`

由于信誉点的原因,我无法发布图片,但这就是网页的显示方式:

球员冠军 - 积分榜

球员团队得分大卫·奥尔蒂斯金莺 134大卫·奥尔蒂斯红袜队 134大卫·奥尔蒂斯天使 134大卫·奥尔蒂斯 道奇队 134迈克特劳特金莺 132迈克·特劳特红袜队 132迈克特劳特天使 132迈克·特劳特 道奇队 132汉利·拉米雷斯金莺 102汉利·拉米雷斯红袜队 102汉利·拉米雷斯天使 102汉利·拉米雷斯道奇队 102亚西尔·普格金莺 4亚希尔·普伊格红袜队 4亚希尔·普伊格天使 4亚西尔·普伊格 道奇队 4乔什·汉密尔顿金莺队 75乔什·汉密尔顿 红袜队 75乔什·汉密尔顿天使 75乔什·汉密尔顿道奇队 75

最佳答案

您的查询没有用。你告诉它要让每一个球员、每支球队都参与进来,它就做到了。应该如何将球员与正确的球队相匹配?你还没有告诉它,所以它会匹配每支球队的每名球员。这称为笛卡尔连接,可能是非常非常坏的消息。您需要添加有关如何将玩家加入正确团队的部分。您可以通过两种方式完成:

select *
from Players, Teams
WHERE Players.team = Teams.teamiD

这是“老式”的做法。更新的方法具有完全相同的功能,但更易于阅读:

select *
from Players p
inner join Trans t on t.Id = p.teamID

查找连接的语法。连接可以是内部连接、外部连接或交叉连接,然后是左连接、右连接或全连接。 Wikipedia article这可能是一个不错的起点。然后查看您正在使用的数据库系统的文档(我看到一个 MySQL 标签,因此应该是 here )。

关于php - 数据库显示错误 - Webmatrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308770/

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