台灣最大程式設計社群網站
線上人數
1211
 
會員總數:246274
討論主題:189809
歡迎您免費加入會員
討論區列表 >> PHP >> 請問如何在網頁新增一筆資料 但寫進資料庫卻是多筆資料?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問如何在網頁新增一筆資料 但寫進資料庫卻是多筆資料?
價值 : 25 QP  點閱數:1464 回應數:6
樓主

單單OWQ
門外漢
0 2
43 7
發送站內信

關於上次在板上發問~利用日期區間來找尋日期區間~

因為上層的希望我能用另一種方式

所以只好改方式寫

有大概爬過文 只是對於實際的做法還是懵懵懂懂

目前是希望說能夠在使用者在add.php中新增一筆資料

但寫進資料庫的卻是12筆資料

例如:

A先生在2011.04月發表一篇論文,該論文積分為10分

積分期間為2011.04月~2012.03月

意思代表說 使用者若新增一筆A先生2011.04月的資料

寫進資料庫中希望是以下

NO  NAME   起始日

1   A先生   2011.04月

2   A先生   2011.05月

      .
      .
      .
      .
      .
12  A先生   2012.03月


就是在新增資料時就設定為寫進資料庫為12筆

就不會有日期區間的問題

而最後使用者要計算積分加總時也非常方便

因為若在日期區間內的每一個月都會有A先生的積分


目前大概知道利用FOR迴圈

但如何讓資料寫進資料庫時是12筆且起始日期的月份自動+1..

是目前卡住的問題


以下付上程式碼

目前使用Dreamweaver CS4 + PHP +MySQL

有請各位大大不吝指教~感激不盡>A<





搜尋相關Tags的文章: [ 新增 ] , [ 多筆資料 ] ,
本篇文章發表於2012-05-02 14:46
1樓
作者回應

單單OWQ
檢舉此回應
目前已知新增12筆為下列所示...但不明白的是如何在新增第二筆時開始跟結束月份各+1~第三筆開始跟結束月份各+2...以此類推

本篇文章回覆於2012-05-02 15:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
幾點設計觀念給你好了。

不知道這樣的方法是你自已想的還是上面的人幫你想的。說真的,其實這樣的做法是非常的差的。反而你之前用的日期區間方式還比較好一點。

會覺得非常差的原因是指,同等資料中分次寫入跟搜尋時資料變大。再者不管如何想,其效能都是會變成非常的惡劣。
如果會員人數少可能還可以應付,會員人數多就會很可怕。

用基本的計算來說,一個案件100個會員購買1年來算。你的資料筆數就至少要先有 1*100*12 = 1200。
而表搜尋效能最大容許量約在8000筆左右。再大其效能就會開始降低。依照這樣的計算,100個會員就多只能容許7個案子。

其次要說明的。我想你的起始日因該也是要當索引搜尋用的值。一般來說會盡量不去用中文字來做欄位比對值。也就是說~~~你的「2011.05月」
其實也可以只要儲存「2011.05」或是「201105」後者為佳。顯示再做個手腳來增加你要的格式就行了。

最後~~多筆寫入可以用如下的方式

由於我不確定你要累加的欄位為何,在此我用一個可能的東西$method來做你的累加值。不對你在自行調整。
$i的值,因為我不知道你要的東西為何,我先假設由0~12的累加


以上~~~

後記:
原則上我不建議你用這樣的想法來做。未來你一定會發生問題。如果有想要討論做法怎麼樣是最好的。可以詳述你的需求。我可以幫你規劃db的架構及程式上的應用方法給你。
本篇文章回覆於2012-05-02 17:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

單單OWQ
檢舉此回應
您好,我也明白此種方法為下下策,但至少為方法中的一種

因目前我能寫程式的時間實在不多,加上18號之前要把這個CASE交出,所以上層才想說叫我往這邊去著手

關於上星期問的日期區間查詢,因電腦被換過所以沒留下資料只有半個月前的備份:(

您之前回覆 SQL中假設要查詢2011.07月的可用如下



可否另詢問,因為我不是只單查詢07月的而已,原意我是想說新增一個抓取系統日期的欄位為r_time,在where中只要起始日期和結束日期在r_time間的就顯示出

但目前尚未測試出來,故在時間不太足夠的情況下想說能否往新增多筆的想法走

依版主的諫言,若再走回日期區間的話

上面貼上的是r_add.php //新增網頁的程式碼

以下補上r_admin.php //主頁面

r_search.php和r_admin.php其實十分雷同,若有需要在補上 //r_search.php查詢頁面

PS.在r_admin.php 中使用查詢後會跳至r_search.php

PS.跟日期有關的欄位格式均為DATE

非常抱歉...因為我實在無從判斷說怎麼縮減程式碼,我怕錯刪了重要的程式碼就不好了。

r_admin.php


本篇文章回覆於2012-05-02 17:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
where s_date<='201101' AND e_date>='201107' 可以查到 2011年1月到7月的值。

看樣子你並非是全新的開發,而是利用原有的程式做改良。的確會受到一些限制。

你可以先告訴我現有的資料節構及其資料的儲存方式,我可以幫你想如何利用現有資料來做到你想要的功能。
或是我有pm給你我的聯絡方式。你也可以私下找我尋問。(但記得還要回來這邊回報你的研究及開發的成果)
本篇文章回覆於2012-05-02 18:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

單單OWQ
檢舉此回應
恩...版大您的PM我好像沒看到..請問是站內信嗎?

相關資料表,我想說私下聯絡您不知道您方便嗎..
本篇文章回覆於2012-05-03 09:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
在站內信我有留下我的聯絡方式。或是你直接去我的論壇找也行。
本篇文章回覆於2012-05-03 10:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.