2012-03-31 6 views
-6

私はこのコードを以下に示します: $ insert = array();文字列の隣に '1'を含めたくない場合

for ($i = 1, $n = $_POST['sessionNum']; $i <= $n; ++$i) 
    { 

     if($_POST['sessionNum'] == '1'){ 
      $insert[] = "'" . mysql_real_escape_string($_POST['id']) . ($i == 1 ? '' : $i) . "'"; 
     }else{ 
      $insert[] = "'" . mysql_real_escape_string($_POST['id']) . "'"; 
     } 


    $insert[] .= "' ". mysql_real_escape_string($_POST['textMarks']) . "'"; 
    } 

    $sql = "INSERT INTO Session (SessionId, TotalMarks) 
    VALUES (" . implode('), (', $insert) . ")"; 


    mysql_query($sql); 

何上記のコードはありませんすることは、数は$ _POST [「sessionNum」]にあるものに応じて、$ _POST [「ID」]の隣に番号を追加していることです。

たとえば、$ _POST ['sessionNum']が '3'で、$ _POST ['id']がVBVの場合、 'VBV3'と表示されます。

しかし、私が望むは$ _POST [「sessionNumは」]「1」であれば、私はそれが単一のセッションであるとして、それはVBV1 "ではなく、単に「VBV」を表示したくないということです。

これはどのように達成できますか?

+6

だから* *今、どのようにループ作品のための操作を行いますが、あなたは 'if'文の聞いたことがありませんか? – GolezTrol

+3

あなたは実際にこのコードを書いていますか?その場合は、その番号を連結する前にif条件を追加することを直ちに考えなければなりません。 – asgs

+0

いいえ、私は以前の質問に答えました。 – MichaelRushton

答えて

1
for ($i = 1, $n = $_POST['sessionNum']; $i <= $n; ++$i) 
{ 
    $insert[] = "'" . mysql_real_escape_string($_POST['id']) . ($n == 1 ? '' : $i) . "'"; 
} 
+0

こんにちは、お返事ありがとうございますが、それは私が意味していたものではありません。私が望むのは、$ _POST ['sessionNum']が1であればそれを 'VBV'として表示しますが、複数のセッション($ _POST ['sessionNum'] = 3) 'VBV1'。 'VBV2'と 'VBV3'。データベースにsessionIdを挿入しないfialed ifステートメントを使用してコードを更新しました – user1304197

+0

あなたの説明を反映するように編集しました – MichaelRushton

+0

違いがわかりました: '( – MichaelRushton

関連する問題