用pdo更新整个表

时间:2013-11-09 09:15:13

标签: php mysql pdo

我正在制作一个简单的游戏阶梯脚本。我几乎没有运气试图找到一种有效的方法来重置我的梯形图信息,同时保持我的表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循环。似乎效率低下。希望我能够更好地了解如何解决这个问题。

2 个答案:

答案 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;