我正在制作一个简单的游戏阶梯脚本。我几乎没有运气试图找到一种有效的方法来重置我的梯形图信息,同时保持我的表ID和名称字段不变。
我试图创建一个循环来更新我的整个表,类似于我绘制表格的方式。如下所示。
......
//Start displaying ladder with with team with most wins at the top
echo "<TABLE border=1 width=500 align=center><TR>";
foreach($db->query('SELECT * FROM test ORDER BY win DESC , name ASC') as $row) {
echo "<TR><TD>" . $row['name'] . "</TD><TD>" . $row['win'] . "</TD><TD>";
echo $row['loss'] . "</TD><TD>" . $row['battles'] . "</TD><TD>";
echo $row['score'] . "</TD></TR>";
}
......
我目前有一个包含6个字段的表(id,name,win,loss,battle,score)。我想将胜利,失败,战斗和得分的值重置为0.而只留下id和名字。有效地重置我的梯子,开始新赛季。
我能够完成此任务的唯一方法是找出有多少行并运行for循环。似乎效率低下。希望我能够更好地了解如何解决这个问题。
答案 0 :(得分:0)
UPDATE 'test' SET 'win'=0, 'loss' =0,'battles' =0,'score' = 0;
......不是吗?
答案 1 :(得分:-1)
删除列并重新创建它们。
ALTER TABLE 'test' DROP 'win';
ALTER TABLE 'test' DROP 'loss';
ALTER TABLE 'test' DROP 'battles';
ALTER TABLE 'test' DROP 'score';
ALTER TABLE 'test' ADD COLUMN 'win' INT DEFAULT 0;
ALTER TABLE 'test' ADD COLUMN 'loss' INT DEFAULT 0;
ALTER TABLE 'test' ADD COLUMN 'battles' INT DEFAULT 0;
ALTER TABLE 'test' ADD COLUMN 'score' INT DEFAULT 0;