2011-03-06 64 views
1

我非常希望有人能够帮助我解决这个错误。诚然,我是一个新手,我已经尝试了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小时的一些试验和错误,我一直在努力解决,我改变了;

而($循环< = 19)

到;

而($循环< = 11)

和低不料,系统提示现在我进入12支球队进入排名表,因为反对20.精湛。或者我想......

当我第一次将数据输入到表格中并“提交”时,它可以正常工作 - 因为在上述更改之前列出的20个团队中,它完美无缺。但是,当我'更新'/不断更改排名表时,它也会计算以前的

因此对于'塔尔波特港镇',我输入“1赢”,“1抽奖”,“1损失” “5个进球得分”“5个进球得分” 而且行得通。它计算出3场比赛和4分(3胜1平1负,0胜1负)as shown here

但是,当我输入其他信息,因此输入'Aberystwyth Town'和'update'的相同信息时,以前数据(Port Talbot Town)的信息会再次被计算出来吗? 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&amp;action=standings&amp;season=<?=$url 

[2]; ?>&amp;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 

&quot;9&quot; 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&amp;action=delete&amp;id=<? 

=$row['id']; ?>&amp;comp=<?=$url[3]; ?>&amp;season=<?=$url[2]; ?>">Remove</a></li> 
</ul> 
<?php 
} 
?> 
<div class="tf"></div> 
</div> 
+1

考虑将标题更改为相关标题。让人们根据你的问题决定你是谁。不要自我宣传。 – Nishant 2011-03-06 19:13:08

回答

0

听起来像它没有正确地插入到数据库中。查找具有INSERT或UPDATE的SQL查询。

上述代码中的SQL显示数据库中的数据,而不是添加到数据库中。你的问题将在别处。由于从数据库中拉出的while循环是用值19硬编码的,那么更新代码可能也是如此。

也登录到您的托管帐户,去PhpMyAdmin,并看看数据库本身。看看如何设置。

+0

此外,如果你在Windows上,尝试一些像Baregrep> http://www.baremetalsoft.com/baregrep/它会让搜索代码更容易。 – 2011-03-06 19:32:22

+0

感谢逻辑,赞赏队友。 phpmyadmin中的数据库真的是空的!没有太多要继续? http://i1116.photobucket.com/albums/k562/nilsatis88/6.jpg – Dan 2011-03-06 19:42:44

+0

没问题,是没有太多看到那里。你可以发布这个代码'mcms/applications/fixtures/submit.php'吗? – 2011-03-06 19:48:54