我非常希望有人能帮助我解决这个错误。不可否认,我是一个新手,我已经尝试了 60 多个小时来解决这个问题,但我就是做不到。
好的,开始了。
我有一张包含 20 支球队的足球联赛表。它有效,它很棒,快乐的日子。但是,我需要将其减少到 12 个团队。一个问题,因为我没有创建网站,其他人在一段时间前创建了。
所以我需要将一个表从 20 修改为 12。仅此而已。
吓坏了,我撸起袖子翻了一下代码,找到了这个位;
<?php
$query = $SITE -> Query ( 'SELECT a.*, b.name, b.colour, b.txtcolour,
(sum((a.wins*3) + (a.draws*1) - a.pts)) as points,
(sum(a.wins + a.losses + a.draws)) as pld,
(sum(a.glsfor - a.glsaga)) as gd
FROM got_standings a
inner join got_clubs b on (a.cid = b.id)
WHERE a.season = "'.$url[2].'"
GROUP BY a.cid
ORDER BY points DESC, gd DESC, glsfor DESC' );
if ($SITE -> Count ($query) == 0) {
$loop = 0;
while($loop <= 19) {
++$loop;
?>
在这 60 个小时里,经过反复试验,我一直在努力解决,我改变了;
while($loop <= 19)
到;
while($loop <= 11)
瞧,系统现在提示我将 12 支球队输入联赛表,而不是 20 支球队。太棒了。或者我想...
当我第一次将数据输入表格并“提交”时,它起作用了——当在上述更改之前列出了 20 个团队时它完美地完成了。但是,当我“更新”/对联赛表进行任何持续更改时,它还会计算之前的
所以对于“塔尔伯特港镇”,我输入“1 胜”、“1 平”、“1 负”、“5 个进球”、“5 个失球” 它有效。它计算了 3 场比赛和 4 分(赢 3 分,平局 1 分,负 0 分)as shown here .
但是,当我随后输入其他信息时,即为“Aberystwyth Town”和“update”输入相同的信息时,是否会再次计算先前数据(塔尔伯特港镇)的信息? as shown here .
我完全不知所措。如果有任何帮助,我将非常感激和感激。
整个代码粘贴在底部。
拜托各位!帮助一个白痴! 8)
<?php
}
} else if ($url[3] == 'league') {
if ($url[4] == 'standings') {
?>
<ul class="buttonbar">
<li class="button"><a href="<?=$CONF['site']; ?>sitecontrol/fixtures/<?=$url[2]; ?>/add/league">Add Fixture</a></li>
<li class="button"><a href="<?=$CONF['site']; ?>sitecontrol/fixtures/<?=$url[2]; ?>/league/standings">Standings</a></li>
</ul>
<form action="<?=$CONF['site']; ?>mcms/applications/fixtures/submit.php?do=fixtures&action=standings&season=<?=$url
[2]; ?>&comp=<?=$url[3]; ?>" method="post" name="standings">
<div class="table">
<div class="th">Welsh Premier League Standings</div>
<ul class="tr shadow">
<li class="td-squadno">Pos.</li>
<li class="td4" style="width: 170px;">Team</li>
<li class="td4">PLD</li>
<li class="td4">W</li>
<li class="td4">D</li>
<li class="td4">L</li>
<li class="td4">+</li>
<li class="td4">-</li>
<li class="td4">PTS</li>
</ul>
<?php
$query = $SITE -> Query ( 'SELECT a.*, b.name, b.colour, b.txtcolour,
(sum((a.wins*3) + (a.draws*1) - a.pts)) as points,
(sum(a.wins + a.losses + a.draws)) as pld,
(sum(a.glsfor - a.glsaga)) as gd
FROM got_standings a
inner join got_clubs b on (a.cid = b.id)
WHERE a.season = "'.$url[2].'"
GROUP BY a.cid
ORDER BY points DESC, gd DESC, glsfor DESC' );
if ($SITE -> Count ($query) == 0) {
$loop = 0;
while($loop <= 11) {
++$loop;
?>
<ul class="tr" id="team_<?=$loop; ?>">
<li class="td-squadno"><?=$loop; ?></li>
<li class="td2" style="width: 170px;">
<?php
echo ( '
<select name="cid[]">
' );
$sql = $SITE -> Query ( 'SELECT id, name FROM got_clubs WHERE country = "Wales" ORDER BY name ASC' );
while($club = $SITE -> FetchArray($sql)) {
echo ( '<option value="'.$club['id'].'"' );
if ($club['id'] == '1') echo ( ' SELECTED' );
echo ( '>'.$club['name'].'</option>' );
}
echo ( '
</select>
' );
?>
</li>
<li class="td4"></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=wins[]]').val(parseInt($('ul#team_<?
=$loop; ?> li.td4 input[name=wins[]]').val())+1); return false;">+</a> <input type="text" name="wins[]" value="0" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=draws[]]').val(parseInt($('ul#team_<?
=$loop; ?> li.td4 input[name=draws[]]').val())+1); return false;">+</a> <input type="text" name="draws[]" value="0" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=losses[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=losses[]]').val())+1); return false;">+</a> <input type="text" name="losses[]"
value="0" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=glsfor[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=glsfor[]]').val())+1); return false;">+</a> <input type="text" name="glsfor[]"
value="0" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=glsaga[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=glsaga[]]').val())+1); return false;">+</a> <input type="text" name="glsaga[]"
value="0" /></li>
<li class="td4">- <input type="text" name="pts[]" /></li>
</ul>
<?php
}
} else {
$loop = 0;
while($row = $SITE -> FetchArray($query)) {
++$loop;
?>
<ul class="tr" id="team_<?=$loop; ?>">
<li class="td-squadno"><?=$loop; ?></li>
<li class="td-club" style="width: 160px; margin-left: 10px; background-color: #<?=$row['colour']; ?>; color: #<?
=$row['txtcolour']; ?>;"><?=$row['name']; ?><input type="hidden" name="cid[]" value="<?=$row['cid']; ?>" /></li>
<li class="td4"><?=$row['pld']; ?></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=wins[]]').val(parseInt($('ul#team_<?
=$loop; ?> li.td4 input[name=wins[]]').val())+1); return false;">+</a> <input type="text" name="wins[]" value="<?=$row
['wins']; ?>" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=draws[]]').val(parseInt($('ul#team_<?
=$loop; ?> li.td4 input[name=draws[]]').val())+1); return false;">+</a> <input type="text" name="draws[]" value="<?=$row
['draws']; ?>" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=losses[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=losses[]]').val())+1); return false;">+</a> <input type="text" name="losses[]"
value="<?=$row['losses']; ?>" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=glsfor[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=glsfor[]]').val())+1); return false;">+</a> <input type="text" name="glsfor[]"
value="<?=$row['glsfor']; ?>" /></li>
<li class="td4"><a href="#" onclick="$('ul#team_<?=$loop; ?> li.td4 input[name=glsaga[]]').val(parseInt
($('ul#team_<?=$loop; ?> li.td4 input[name=glsaga[]]').val())+1); return false;">+</a> <input type="text" name="glsaga[]"
value="<?=$row['glsaga']; ?>" /></li>
<li class="td4"><?=$row['points']; ?> (- <input type="text" name="pts[]" value="<?=$row['pts']; ?>" />)</li>
</ul>
<?php
}
}
?>
<div class="tf"><input type="submit" value="Update Standings" /> or <a href="<?=$CONF['site']; ?>sitecontrol/fixtures/<?
=$url[2].'/'.$url[3]; ?>">Cancel</a></div>
</div>
</form>
<p>Do not use the points column for anything other than points deductions. If a points deduction is carried out by the
Premier League, use the input box to enter how many points have been taken away, e.g. Portsmouth in 2009/10 would have
"9" in their points input box.</p>
<p>Matches played and points columns will update automatically. The position of each team in the league table will also be
automatically updated.</p>
<?php
} else {
?>
<ul class="buttonbar">
<li class="button"><a href="<?=$CONF['site']; ?>sitecontrol/fixtures/<?=$url[2]; ?>/add/league">Add Fixture</a></li>
<li class="button"><a href="<?=$CONF['site']; ?>sitecontrol/fixtures/<?=$url[2]; ?>/league/standings">Standings</a></li>
</ul>
<div class="table">
<div class="th">Premier League Fixtures</div>
<?php
$query = $SITE -> Query ( '
SELECT a.id, a.rid, home, away, homescore, awayscore, date, b.name as hometeam, c.name as awayteam FROM
got_fixtures a
inner join got_clubs b on (a.home = b.id)
inner join got_clubs c on (a.away = c.id)
WHERE a.cid="1" AND a.season = "'.$url[2].'" AND (a.home = "1" OR a.away = "1")
ORDER BY date ASC' );
while($row = $SITE -> FetchArray($query)) {
?>
<ul class="tr">
<li class="td-squadno"><?=$row['rid']; ?></li>
<li class="td-home"><?=$row['hometeam']; ?></li>
<li class="td-score"><?=$row['homescore']; ?> - <?=$row['awayscore']; ?></li>
<li class="td-away"><?=$row['awayteam']; ?></li>
<li class="td-kickoff"><?=date('D. jS F y, H:i', $row['date']); ?></li>
<li class="td-end"><a href="<?=$CONF['site']?>sitecontrol/fixtures/<?=$url[2]; ?>/edit/<?=$url[3]; ?>/<?=$row['id'];
?>">Edit</a> or <a href="<?=$CONF['site']; ?>mcms/applications/fixtures/submit.php?do=fixtures&action=delete&id=<?
=$row['id']; ?>&comp=<?=$url[3]; ?>&season=<?=$url[2]; ?>">Remove</a></li>
</ul>
<?php
}
?>
<div class="tf"></div>
</div>
最佳答案
听起来好像没有将它正确地插入到数据库中。查找其中包含 INSERT 或 UPDATE 的 SQL 查询。
上面代码中的 SQL 显示的是数据库中的数据,而不是添加数据。你的问题将在别处。由于从数据库中提取的 while 循环被硬编码为值 19,因此更新代码可能也是如此。
同时登录到您的主机帐户,转到 PhpMyAdmin,并查看数据库本身。看看它是如何设置的。
关于php - 代码逻辑不计算正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212729/