Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

woff
Lv 7
woff 發問時間: 電腦與網際網路程式設計 · 1 0 年前

javascript php mysql怎麼傳值阿

大大您好,小弟有各移惑

小弟寫了各輪播式廣告

功能都正常,但是小弟想點擊廣告時,會傳會該廣告id給javascript再傳給PHP寫入MYSQL

小弟目前,已經可以傳id了,但是永遠都是抓最後一個id值,請懂的大大指導一下,我把程式貼下面

由於字數有限制

我貼在此區

http://www.tshopping.com.tw/viewthread.php?tid=155...

麻煩大大了

3 個解答

評分
  • Sam
    Lv 6
    1 0 年前
    最佳解答

    您好:

    在下尚未能先解析完你的程式。但因為有重要的事你一定要弄清楚。

    否則日後寫程式你還是會像這次的情況。

    說真的,你的程式寫起來看起來本文就很混亂而且沒有結構性。

    這是造成程式非常難以維護的最大元兇。要改的話也很難改。

    第一個問題:你有沒有覺得你的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的能力了。

    改善程式的結構讓程式純化。

    再把除錯的事交由電腦幫你處理。

    把所有的資訊都歸類、分門別類的做好。

    整理好你所有的程式碼。讓他具有易維護、良好的可讀性。

    這必你現在的問題要大家幫你看幫你解還來得重要許多。

    我相信,現在大概有很多人正在努力的「看」你的程式。

    但是我也相信很多能力很強的工程師是「不想看」你的程式。

    不想看的最終的問題就出在結構上。

    希望這篇回答,會讓你思考到問題的核心價值出在那裡。

    或許這篇並不是用來解答你問題的所在。

    但他能解決接下來你所面臨的大部份的問題。

    無論如何:請「重構」你的程式。使其具有良好的結構和維護性。

    如果不明白該如何做。***的暱稱來信。

  • 5 年前

    我推薦我的老師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

  • ?
    Lv 5
    1 0 年前

    1 首先先解決你的問題

    你的$id當然永遠是最後一個,因為你的$id是在迴圈裡跑,迴圈跑完$id一定是最後一個。

    2 除了上述大大所說的你的程式需要重構,也還要再加強觀念,也佩服你寫的echo

    3建議ajax可以用現成框架如prototype或jquery...等會比較好

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

還有問題?馬上發問,尋求解答。