私のスクリプトの上部近くのsession_start(); 私は以下のコードを持っています:
if (isset($_POST['id'])) {
$_SESSION['id'] = $_POST['id'];
}
if(isset($_SESSION['sessionNum'])){
//Declare my counter for the first time
$_SESSION['initial_session'] = $_SESSION['sessionNum'];
$_SESSION['sessionNumber'] = intval($_SESSION['sessionNum']);
$_SESSION['sessionCounting'] = 1;
}
elseif (isset($_POST['submitMarks']) && $_SESSION['sessionCounting'] < $_SESSION['sessionNumber']) {
$_SESSION['sessionCounting']++;
}
$sessionMinus = $_SESSION['sessionCounting'];
$sessionConcat = $_SESSION['sessionCounting'];
if ($sessionMinus == $_SESSION['initial_session']){
$action = 'infopenaltymarks.php';
}elseif($sessionMinus != $_SESSION['initial_session']){
$action = $_SERVER['PHP_SELF'];
}
$assessment = $_SESSION['id'] . $sessionConcat;
ここで、ページの見出しに次のコードを使用しています。
<h1>INDIVIDUAL MARKS FOR EACH ANSWER: ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>
ここSession
で、データベース内のテーブルが次のようになっているとします。
SessionId SessionName
1 AAA1
2 AAA2
3 AAB
上記の表を見ると、複数の試験がAAA1
ありAAA2
、1つの試験がありAAB
ます。
今、私が試験に取り組んでAAA1
いるとしましょう、それは以下のような見出しを表示します:
各回答の個別のマーク:評価(AAA1)1/2
上記の見出しは正しい試験名を表示しているので正しいです、そしてそれは2つのAAA
試験 のうちの最初のものを述べています
このページを送信すると、見出しが変更され、AAA
以下の2番目の試験に進みます。
各回答の個別のマーク:評価(AAA2)2/2
繰り返しますが、上記の見出しは正しいです。
私が抱えている問題は、単一の試験がある場合、またはこの場合はAAB
単一の試験であるため、試験名の末尾に番号が含まれていないためAAB
、DBのように表示されるだけです。
しかし、見出しを出力すると、次のように表示されます。
各回答の個別のマーク:評価(AAB1)1/1
これで、上記の見出しは試験ではないため正しくないことがわかります。括弧の間にあるAAB1
はずです。AAB
それで、私の質問は、試験が1 OF 1
単一の試験である場合、つまり、試験名の末尾の括弧内の数字1を削除して、表示されAAB
ないようにするにはどうすればよいAAB1
ですか?