javascript php mysql怎麼傳值阿

2010-06-13 7:05 am
大大您好,小弟有各移惑
小弟寫了各輪播式廣告
功能都正常,但是小弟想點擊廣告時,會傳會該廣告id給javascript再傳給PHP寫入MYSQL
小弟目前,已經可以傳id了,但是永遠都是抓最後一個id值,請懂的大大指導一下,我把程式貼下面

由於字數有限制
我貼在此區
http://www.tshopping.com.tw/viewthread.php?tid=155537&extra=

麻煩大大了

回答 (3)

2010-06-13 6:04 pm
✔ 最佳答案
您好:
在下尚未能先解析完你的程式。但因為有重要的事你一定要弄清楚。
否則日後寫程式你還是會像這次的情況。
說真的,你的程式寫起來看起來本文就很混亂而且沒有結構性。
這是造成程式非常難以維護的最大元兇。要改的話也很難改。
第一個問題:你有沒有覺得你的php中的echo使用量多到一個爆炸?
一般初學在寫程式的過程中,必須要掌握的第一個原則是:
「輸入」、「執行」、「輸出」三件事要分開。
事實上依舊很多人沒弄清楚「html就是echo」
你所echo的每一個文字字串最終都會先是html再轉成網頁。
既然如此:
在html中寫:
今天天氣很好
跟在php中寫:
echo "今天天氣很好";
有什麼差別?
我想,就你的程式來看,他其實是可以像global.php一樣
被抽離到另一個php檔。
讓你要使用的js能夠單純化他本身就會是一個js。
而不是在其中大量插入php的元素。
尤其大量的使用echo,即時在php,這樣的寫法也是錯誤的。
(程式變得看起來眼花瞭亂卻又不具任何的結構性)

第二個問題:你大量的使用document.write
這和第一個問題雷同。該抽離的項目沒抽離,該使用php使又沒有使用。
其實你是在js判斷式之後叫入了顯示html的方法。
可是你又把html用document.write寫了很長。
再配合第一個問題的echo......程式就顯得多出太多不必要的部份。
這部份其實反過來你就是該把要分別顯示的html各自寫在各自的html中。
然後經過php呼叫html到一個變數,再讓js去使用傳過來的整個html。
如此一來,你的document.write就只要寫一行。
if(xxxxx){
複數行的documtne.wrtie();
}

if(XXXX){
單數行的document.write();
}
你想那個看起來會比較單純?

第三點:結構化程式設計
這點是關乎於在看到你程式是重頭一直寫寫寫寫到尾所必須提出的。
事實上不是只有你會犯這種錯誤。所有沒有經過程式設計訓練的人都會發生。
我只能說,過度安於現狀,不肯朝良好快速而穩定的程式前進的話。
最終還是寫不出能夠實用的東西。
所以無論如何,除了程式語言之外,良好的結構程式是必須要做的事。
在這邊就不得不提到函式這件事。
太多人去誤會函式只是單純把重覆的程式碼整合起來包進函式。
這個原則上其實沒錯,但這也只有50%。
使用函式建立結構化程式最主要的就是二個原則:
1、函式提取:這就是上面講的將重覆的程式碼整理後,寫入函式。讓具有相
同動作的重覆行為獲得立即的程式碼改善。
2、單一職責:函式的目的最終是為了提供功能,而非只是讓程式碼重用。任
何編寫函式的行為,應該仍以功能性為目的,而函式的最終要素就是「一個函式儘提供一個功能。」
這或許很多人難以理解,什麼是一個函式一個功能。
其實也就如他字面的意思,你的程式可能提供複數的功能體。
當你將他包成一個函式時,這個函式只是複數功能體的集合卻不知道他真正的功能性是如何。但如果把各自的功能各自成為函式。
就可以自由的在程式功能中去取用功能。而不會因為一個廣大包覆性的功能而變成單一功能的存取不易。

最終,您的程式碼現階段要考量的不是改了什麼東西他能正常運作。
而是必須先做初步的「重構」- 改善既有程式的設計。
將你的程式碼大幅度的簡化到容易維護及編寫的原則上時。
才能來考慮你的程式發生了什麼錯誤。
否則,你解決了一個問題,又冒出第二個問題,又要用眼睛大量的再看一次程式碼。這絕對比你先做好重構還要更加的浪費時間。
切記一件事:大量訓練debug能力的工程師,永遠比不上不怎麼會debug卻總是把debug交給電腦去做的工程式。
所以......不要再訓練自己debug的能力了。
改善程式的結構讓程式純化。
再把除錯的事交由電腦幫你處理。
把所有的資訊都歸類、分門別類的做好。
整理好你所有的程式碼。讓他具有易維護、良好的可讀性。
這必你現在的問題要大家幫你看幫你解還來得重要許多。
我相信,現在大概有很多人正在努力的「看」你的程式。
但是我也相信很多能力很強的工程師是「不想看」你的程式。
不想看的最終的問題就出在結構上。
希望這篇回答,會讓你思考到問題的核心價值出在那裡。
或許這篇並不是用來解答你問題的所在。
但他能解決接下來你所面臨的大部份的問題。
無論如何:請「重構」你的程式。使其具有良好的結構和維護性。
如果不明白該如何做。***的暱稱來信。
2016-08-22 1:38 pm
我推薦我的老師Glee給你~他之前在很多地方當App開發講師
教學經驗滿豐富的!
他目前是在123APP電腦教育中心教課
如果你想學App可以到這家找他學
我最近才跟Glee老師聯絡,
他說iOS APP可說是未來趨勢,
因為安卓系統的APP購買率比起iOS相對低很多
而且iOS APP開發起來更單純更容易,
大公司想開發APP都是以iOS為優先
所以想學的話推薦先從iOS APP開發開始會更快賺錢

聽Glee老師說,這間123APP電腦課程中還有提供創業輔導、網路行銷技巧之類的
感覺滿超值的,因為外面大部分都只是教你怎麼寫APP
但如果你想靠APP自行創業,還是需要一些行銷的概念
才會讓更多廠商找到你

重點是,Glee老師說現在學iOS APP可以不用基礎
因為是用Apple的Swift語言教學,這個比較簡單容易理解
也不用先去學C語言之類的,省下很多學費
(有名氣的電腦補習班,都會要求要學這個,學費另計...)

附上網站給你參考www.123app.com.tw
電話:0800-099-123
地址:台北市忠孝西路一段50號24樓-6
2010-06-18 4:15 pm
1 首先先解決你的問題
你的$id當然永遠是最後一個,因為你的$id是在迴圈裡跑,迴圈跑完$id一定是最後一個。
2 除了上述大大所說的你的程式需要重構,也還要再加強觀念,也佩服你寫的echo
3建議ajax可以用現成框架如prototype或jquery...等會比較好

順便推一下,GoGo曼尼****記帳網


收錄日期: 2021-04-26 21:18:47
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100612000010KK09498

檢視 Wayback Machine 備份