關於這個問題How to put MySQL table into session variable and using the table on next page?,我想解釋我在這裏要做的。修改不同頁面上的MySQL表格與來自HTML表格的分數
我有一個網站,其中包含一個表單,用戶可以通過它回答問題。在表格末尾,目標是向用戶提供哪些產品最適合他們的建議。
這個建議是通過詢問用戶幾個不同的問題來實現的。根據他們給出的答案,MySQL表中的產品列表將被分配點數。在表格的最後,具有最多積分的產品ID將成爲贏家,因此將成爲最適合用戶的產品。
在這個解釋中,我只會用2個問題。第一個問題被稱爲'階段1'。第二個問題被稱爲「階段2」。
階段1:帶有單選框輸入的HTML網頁表單爲用戶提供多個值之間的選擇。根據通過無線電框輸入的值,將現有表中的某一列插入新創建的臨時表中名爲「Phase1」的列中。該臨時表被命名爲「建議」。 Phase1列包含不同產品的點列表。
因此,這是發生了什麼形式的第1階段的一步一步的解釋:
- HTML單選框中輸入爲用戶提供了4個值之間的選擇。
- 的臨時表(名爲:「忠告」)與下面的列上創建:「產品ID」,「產品名稱」,「階段1」,「2階段」
- 列產品ID和產品名稱是通過對產品的數據填補。這些數據是從一個名爲'Computers_F1'的現有表中獲取的。
用戶應答問題「」階段1後會發生什麼?「
- 根據哪個無線電框的值是由用戶輸入的,列相位1通過柱更新'1''2'3'或'4',其數據來自現有的名爲'Computers_Phase1'的表
- 臨時表現在包含三個填充列'ProductID','ProductName'和'Phase1'。
希望這一切都是有道理的,直到現在。第二個問題應該基本上和Phase1做同樣的事情。 請注意,階段2將發生在下一個HTML頁面上,並提供一個新表單,然後輸出到phase2.php。然而,這意味着臨時表'建議'需要從phase1.php傳遞到phase2.php。 所以這實際上是我迄今爲止的問題。因爲顯然,PHP不允許將MySQL SELECT查詢存儲到$ _SESSION變量中。我曾考慮將'Advice'表的內容保存在一個php數組中。但是,這樣做的缺點是我不能再使用MySQL查詢來修改階段2中的表。
我需要能夠修改page2.php腳本中的表'建議'。這是必要的,因爲我想在幾個不同的問題之後進一步添加列。在所有問題結束時,我想創建一個名爲'Total'的列。該列中的值將是「階段1」,「階段2」等中的值的總和。因此,最終「總計」中得分最高的行將成爲最適合用戶的產品。
希望你們可以幫助我這個。也許系統的設計有問題。有關如何改進系統的建議將受到高度讚賞。
_因爲顯然,PHP不允許將MySQL SELECT查詢存儲到$ _SESSION變量中。_誰說的? –
我之前問過一個關於此問題的問題(請參閱本文開頭的鏈接)。有人說這是不可能的。 – NvdB31
誰說的?可以將mysql數據存儲在會話變量中。 – user3517652