這是代碼。每當我輸入數據,它工作正常。它會正確計數每一行,除了遊戲#9。每場比賽都被正確計算,但是比賽#9。我坐了下來,問了3個人的幫助。現在我轉向你,幫助我弄清楚爲什麼會發生這種情況。查詢確實除第9行以外的所有行都正確
這是代碼:
<?php
include ("../conn_inc.php");
include ("../conn_inc_pdo.php");
require_once ('auth.php');
$game_id= $_POST['game_id'];
$resultat= $_POST['namn'];
$lag1=substr($resultat, 0,1);
$lag2=substr($resultat, 2,1);
if ($lag1>$lag2){
$tips="1";
}
if ($lag1<$lag2){
$tips="2";
}
if ($lag1==$lag2){
$tips="x";
}
//echo $tips;
//------------------FIND ALL ALREADY POSTED GAMES---------------\\
$sql2 = $pdo->prepare("SELECT game_id FROM vm2014res WHERE :game_id = game_id");
$sql2->execute(array(':game_id' => $game_id));
if ($sql2->rowCount() == 0) {
//------ IRRELEVANT TEST CODE 3 LINES DOWN-----\\
echo $game_id;
echo $resultat;
echo "<br>";
//----------- INSERT THE VALUE OF THE GAME IF IT DOESNT EXIST -------\\
$q = "INSERT INTO vm2014res (game_id, resultat, added) VALUES (:game_id, :resultat, CURRENT_TIMESTAMP)";
$query = $pdo->prepare($q);
$query->execute(array(
':game_id' => $game_id,
':resultat' => $resultat
));
//------------------CHECK IF YOU SHOULD BE GETTING POINTS FOR A CORRECT GUESSED RESULT---------------\\
$SQL = $pdo->prepare("SELECT * FROM vm2014 WHERE game_id = :game_id AND resultat = :resultat");
$SQL->execute(array(':game_id' => $game_id, ':resultat' => $resultat));
$r = $SQL->fetchAll(PDO::FETCH_ASSOC);
foreach($r as $row){
$bet_id = $row['bet_id'];
$game_id = $row['game_id'];
$tips = $row['tips'];
$resultat = $row['resultat'];
$namn = $row['namn'];
$points = $row['points'];
//-------- ALL ECHOS DOWN HERE ARE IRRELEVANT----------\\
echo $bet_id;
echo $game_id;
echo $tips;
echo $resultat;
echo $namn;
echo $points;
echo "<br>";
$points=$points+2;
echo $points;
//------------- UPDATE THE POINTS GOTTEN (2 POINTS)---------\\
$sql2 = $pdo->prepare("UPDATE vm2014 SET points = :points WHERE bet_id = :bet_id");
$sql2->execute(array(':points' => $points,
':bet_id' => $bet_id
));
}
//------------------CHECK IF YOU SHOULD BE GETTING POINTS FOR RIGHT GUESSED GAME---------------\\
$SQL = $pdo->prepare("SELECT * FROM vm2014 WHERE game_id = :game_id AND tips = :tips");
$SQL->execute(array(':game_id' => $game_id, ':tips' => $tips));
$r = $SQL->fetchAll(PDO::FETCH_ASSOC);
foreach($r as $row){
$bet_id = $row['bet_id'];
$game_id = $row['game_id'];
$tips = $row['tips'];
$resultat = $row['resultat'];
$namn = $row['namn'];
$points = $row['points'];
//-------IRRELEVANT ECHOS DOWN HERE--------\\
echo $bet_id;
echo $game_id;
echo $tips;
echo $resultat;
echo $namn;
echo $points;
echo "<br>";
$points=$points+1;
echo $points;
//----------------- UPDATE YOUR POINTS IF YOU SHOULD BE GETTING POINTS FOR THE GAME----\\
$sql2 = $pdo->prepare("UPDATE vm2014 SET points = :points WHERE bet_id = :bet_id");
$sql2->execute(array(':points' => $points,
':bet_id' => $bet_id
));
}
} else {
//-----------------POST WHEN THE GAME RESULT WAS ADDED TO THE DB-------\\
$SQL6 = $pdo->prepare("SELECT * FROM vm2014res WHERE game_id = :game_id");
$SQL6->execute(array(':game_id' => $game_id));
$ra = $SQL6->fetchAll(PDO::FETCH_ASSOC);
foreach($ra as $row){
$game_id = $row['game_id'];
$resultat = $row['resultat'];
$added = $row['added'];
echo "Resultatet är redan registrerat. Det registrerades: <strong>" . $added . "</strong> och det vart <strong>" . $resultat . "</strong> i matchen.";
}
}
IVE包括代碼的整個部分,因爲我不知道在哪裏的代碼錯誤部分。它應該在以下部分:
//------------------Kolla om du ska få poäng för ditt tips---------------\\
但我不能看到問題。
IM輸入2-1進入比賽9,這是輸入到數據庫中:(我不知道如何使這個表本網站上)
bet_id game_id tips resultat name poäng 9 9 1 2-1 Player 1 2 57 9 x 1-1 Player 2 0 105 9 x 1-1 Player 3 0 153 9 1 2-0 Player 4 0 201 9 1 2-1 Player 5 2 249 9 1 3-0 Player 6 0 297 9 x 1-1 Player 7 0 345 9 x 0-0 Player 8 0 393 9 2 0-1 Player 9 1 441 9 1 1-0 Player 10 0 489 9 2 0-3 Player 11 1 537 9 x 0-0 Player 12 0 585 9 x 1-1 Player 13 0 633 9 1 2-0 Player 14 0 681 9 2 1-2 Player 15 1 729 9 2 0-1 Player 16 1 777 9 x 1-1 Player 17 0 825 9 1 3-0 Player 18 0 873 9 2 2-3 Player 19 1 921 9 2 0-1 Player 20 1 969 9 x 2-2 Player 21 0 1017 9 x 2-2 Player 22 0 1065 9 2 2-1 Player 23 3 1113 9 x 0-0 Player 24 0 1161 9 2 1-1 Player 25 1
,正如你所看到的,一些球員因錯誤而獲得積分。有些人得到正確結果的積分,但沒有得到猜測誰贏了比賽。
有人可以幫助我搞清楚最新的錯誤嗎?
首先您必須解釋如何輸出示例顯示什麼是對的。我不知道'2-2'或'2-1'的意思。而且我們不打算通讀基本上完全沒有文檔的代碼來嘗試猜測問題是什麼。 –
2-1是結果。 2對1,我不知道要添加評論。我可以試試 –
@MarcB ive添加了儘可能多的評論 –