当前位置: 首页 > 知识库问答 >
问题:

Mysql php表显示重复项

岑炯
2023-03-14

我刚刚开始了一个游戏服务器,并在我的网站上做了一个简单的排行榜,上面显示了玩家的统计数据。我面临的问题是它会在表中显示重复的行。

我的意思是:

这是我的代码。

null

<?php        
mysql_connect('','','') or die(mysql_error());
mysql_select_db('dbname')  or die(mysql_error());
$query=mysql_query("select * from playerstats,playerinfo limit 0,10")  or die(mysql_error());
echo'<table border="1" ><th >NOM DU JOEUR</th><th>VICTIMES</th><th>AI TUER</th><th>TEAMKILLS</th><th>DECES</th><th>RÉANIMATIONS</th><th>ARGENT</th>';
while($res=mysql_fetch_array($query))
{
  echo'<tr><td>'.$res['Name'].'</td><td>'.$res['PlayerKills'].'</td><td>'.$res['AIKills'].'</td><td>'.$res['TeamKills'].'</td><td>'.$res['DeathCount'].'</td><td>'.$res['ReviveCount'].'</td><td>'.$res['BankMoney'].'</td></tr>';
}
echo'</table>';
?>

null

我会得到一些帮助的。我不想要重复的条目,如果用户名已经列出。

编辑:这里是我试图从其中提取的2个表

Here is the 2 tables i am trying to fetch from

-- -----------------------------------------------------
-- Table `PlayerStats`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PlayerStats` (
  `PlayerUID` VARCHAR(32) NOT NULL,
  `LastModified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `PlayerKills` INT UNSIGNED NOT NULL DEFAULT 0,
  `AIKills` INT UNSIGNED NOT NULL DEFAULT 0,
  `TeamKills` INT UNSIGNED NOT NULL DEFAULT 0,
  `DeathCount` INT UNSIGNED NOT NULL DEFAULT 0,
  `ReviveCount` INT UNSIGNED NOT NULL DEFAULT 0,
  `CaptureCount` INT UNSIGNED NOT NULL DEFAULT 0,
  UNIQUE INDEX `idx_PlayerStats_uniquePlayer` (`PlayerUID` ASC),
  CONSTRAINT `fk_PlayerStats_PlayerInfo`
    FOREIGN KEY (`PlayerUID`)
    REFERENCES `PlayerInfo` (`UID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `PlayerInfo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PlayerInfo` (
  `UID` VARCHAR(32) NOT NULL,
  `CreationDate` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  `Name` VARCHAR(256) CHARACTER SET 'utf8' NULL,
  `LastSide` VARCHAR(32) NULL,
  `BankMoney` FLOAT NOT NULL DEFAULT 0,
  `BattlEyeGUID` VARCHAR(32) NULL,
  PRIMARY KEY (`UID`))
ENGINE = InnoDB;

共有2个答案

戎志勇
2023-03-14

我认为你在SQL查询中的问题是,你从两个表中得到所有的数据,这就是为什么它是重复的:

“Select*from playerstats,playerinfo limit 0,10”

试试这个:“Select*from playerinfo limit 0,10”

轩辕乐邦
2023-03-14

我认为您想要加入这些表,而不是按您的本来面目从两个表中进行选择。尝试:

select * from `playerinfo` i
left outer join `playerstats` s on s.`PlayerUID`=i.`UID`
limit 0,10;
 类似资料:
  • 我正在使用一个警报对话框,显示一个菜单在应用程序的开始,我想要对话框显示我的两个值,是“名称”从一个对象,这里是警报对话框的代码: 是包含字符串“name”的对象,包含数组

  • 问题内容: 我在MySQL数据库中有以下数据: 我现在正在使用PHP工作,但是在使用C#,Java和其他语言时,却多次遇到此问题。 现在,我过去和现在的目标是以以下格式显示数据: 在创建一个代表我的SQL表的类之前,我已经解决了这个问题。然后我创建了一个hold和class。 我正在跳过步骤,但我希望您能理解我的意思。我可能只需要用什么关键字来称呼这种类型的问题。完成此操作的首选方式是什么? 问题

  • 问题内容: 我用来在关闭特定的JFrame之前进行确认。 在关闭之前,我会收到一个确认对话框,但是问题是,即使我单击“否”按钮,它也会关闭。有什么帮助吗? 问题答案: JFrame的默认关闭操作设置为什么?您需要确保将其设置为:

  • 我想使用JavaScript在动态表中显示一个对象数组。 这就是它的样子。我想知道如何将它显示为一个动态表。

  • 我想通过javascript在html页面上显示当前日期。我试过了,但它在eclips浏览器中显示了currect日期,但在其他浏览器中没有显示currect日期,比如Chrome,Mozilla Firfox。你能帮我做这件事吗。.我的Java剧本是这样的。.

  • 我使用的是SpringBoot2.1。3,我想添加一个错误页面作为回退。我试图添加一个错误。模板文件夹下的html,但它不起作用。 还试图添加错误控制器,并为每个错误类型分类一个页面,但它也不起作用。 我还需要做其他配置吗? 提前谢谢。