我有一個由2頁組成的應用程序。其中一個頁面爲會話生成一個3字母的Id,它允許用戶在文本框中鍵入他們需要的多個會話,並在文本框中輸入會話所需的總標記。如何在數據庫中正確插入這些多行和單行
當該頁面被提交時,它將進入下一頁,同時這樣做會將這些細節插入到數據庫中。現在,如果用戶只需要一個會話,那麼將詳細信息插入到數據庫表格中工作正常。下面是一個例子:
例如:如果session是'ABA',會話數是'1',總標記是'20',那麼這個行就像下面這樣插入Session DB表中:
SessionId TotalMarks
ABA 20
但我想遇到的問題如下:
比方說,我們有相同的會話ID「ABA」總標記仍然是「20」,但不同的是,用戶希望數的會話爲3,那麼我希望將其插入表格行中:
SessionId TotalMarks
ABA1 20
ABA2 20
ABA3 20
正如您所看到的那樣,我們有多個會話,它包含每個會話旁邊的數字,ABA1表示這是第一個會話,ABA2表示它是第二個會話,而ABA3表示它是第三個會話。正如用戶所說的總分數是'20',那麼這包括在所有這些會話行中。
所以我的問題是如何得到它,以便如果有多個會話數,然後在每個sessionId旁邊添加一個數字和所有這些會話的總分數?但是,如果用戶只需要1次會話,它仍然與當前顯示3個字母sessionId旁邊的NO號碼相同。
下面是在會話表中插入的sessionID和TotalMarks的插入值的代碼:
$sql="INSERT INTO Session (SessionId, TotalMarks)
VALUES
(' ". mysql_real_escape_string($_POST['id']) . "',' ". mysql_real_escape_string($_POST['textMarks']) . "')";
mysql_query($sql);
下面是含有3個字母的SessionID,會話文本框和總標記文本框的數的形式的代碼:
<form action="QandATable.php" method="post" id="sessionForm">
<p><strong>1: Your Session ID: </strong><?php echo $id; ?></p>
<input type='hidden' name='id' value='<?php echo $id; ?>' />
<p><strong>2: Number of Sessions you Require:</strong> <input type="text" id="sessionNo" name="sessionNum"/></p>
<p><strong>3: Total Marks: </strong><input type="text" id="txtMarks" name="textMarks" /></p>
</form>
爲什麼不添加一個額外的列「numberOfSessions」,以便您可以擁有ABA | 20 | 3? – Swader 2012-03-31 11:49:14
因爲如果有一個會話,那麼我不希望它從下拉菜單或類似的東西中選擇時顯示ABA1 – user1304948 2012-03-31 11:51:29
我仍然沒有看到問題。數據庫中根本不會有ABA1。如果ABA只有一個會話,則該行將如下所示:ABA | 20 | 1,如果有3個,它將如下所示:ABA | 20 | 3.在這兩種情況下都沒有ABA1或ABA3,所以您可以在下拉菜單中顯示ABA。 – Swader 2012-03-31 11:54:50