台灣最大程式設計社群網站
線上人數
1101
 
會員總數:240678
討論主題:186535
歡迎您免費加入會員
討論區列表 >> PHP >> radio的檢查
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
radio的檢查
價值 : 50 QP  點閱數:512 回應數:21

樓主

Teddy
門外漢
0 2
62 3
發送站內信

各位大大好 小弟是一個剛學寫程式的初學者 很抱歉可能會有人覺得小弟的問題很淺很蠢 但是小弟研究好多天 始終沒有達到想要的需求 所以才會上來發問(小弟在這網站也是新手,如果發問不恰當請見諒!!)
想請問各位大大,1.在下面的程式碼中要如何才能檢查每一題的radio都有選擇,並且至少一個選擇'感興趣'呢? 2.另外java寫出來的應該填在下面的"這裡1"還是"這裡2"呢?
(網頁總共會有30篇文章,每篇文章都有感興趣和不感興趣的選項)

以下是我的程式碼(此程式碼並不是由我一人所寫)

<form name="form1" onsubmit="這裡1" method="post" action="Step3_2_SD.php>

<?php

mysql_query("SET NAMES UTF8");
$c = 1;
$anchor=1;
for($i=0;$i<count($SUN_total);$i++)
{
$result = mysql_query("SELECT * FROM reference WHERE RID=".$SUN_total[$i]); //呼叫出同學喜好的文章文獻
while($row = mysql_fetch_array($result))
{
echo "</br><a name='a".$anchor."'></a>";
$anchor++;

echo "<label><input type='radio' name='doc[]$i' onclick=\"location.href='#a".$anchor."'\" value='".$row['RID']."' id='".$row['RID']."' style='font-size:15px;'><strong>感興趣</strong></label></a>";
echo "</br>";
echo "<label><input type='radio' name='doc[]$i' onclick=\"location.href='#a".$anchor."'\" value='no' id='no' style='font-size:15px;'><strong>不感興趣</strong></label></a>";
echo "</br>";

echo "<a ".$row['RID']."' style='color:#1A98C1;font-weight:800; '>$c. ".$row['RTI']."<span class='st-arrow'></span></a>";
echo "<div class='st-content-inner' id='content'>";
// echo "<p style='font-size:15px;'><strong>Abstract</strong></p><p style='font-size:15px;'>".$row['RAB']."</p>";
echo "<p style='font-size:15px;'><strong>Journal or book title: </strong>".$row['RJT']."</p>";
echo "<p style='font-size:15px;'><strong>Author name:</strong>".$row['RAU']."</p>";
echo "<p style='font-size:15px;'><strong>Issue:</strong>".$row['RDA']."</p>";
echo "<p style='font-size:15px;'><strong>Abstract:</strong>".$row['RAB']."</p>";
echo "</div></li></br>";

}
$c++;
}

?>

<p align="center"><a id="a31"><input class="button" id=".$row['RID']." type="submit" name="submit" onclick="這裡2" value="確定" ><input class="button" type="reset"></p>


搜尋相關Tags的文章: [ 感興趣 ] , [ 這裡 ] ,
本篇文章發表於2017-08-16 21:27
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
請善用程式標籤
另外請說明清楚問題,並給出正確的程式碼
第一個問題,你是指主機端接收時做判斷,還是指用戶端送出前做判斷?
不論是哪個在google上都能找到一堆說明吧?請先試著寫,有問題再來問
基本上主機端根本不會有問題吧,如果是客戶端可以參考這篇
https://www.blueshop.com.tw/board/FUM20041006152641OLG/BRD20100125162548SUH.html

第二個問題,兩邊都可以,只是要注意
第一個地點要這要寫
onsubmit="return subCheck();"
subCheck()是指你檢查用的function
回傳結果必須是true或false
第二個地點type必須改成button
本篇文章回覆於2017-08-17 09:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應

1.請先學會一下用程式標簽來排版你的程式碼吧。這是基本的。

2.javascript 不是 java

3.其實你的問題並不困難。可以的話搭配一下jquery。你會更簡單處理。

4.用for來跑sql命令是一直很危險的事。盡量不要這樣做。
本篇文章回覆於2017-08-17 12:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

os_dd
檢舉此回應
看是不是你要的

本篇文章回覆於2017-08-17 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

os_dd
檢舉此回應
以上程式是

1.在下面的程式碼中要如何才能檢查每一題的radio都有選擇,並且至少一個選擇'感興趣'呢?
A:如果沒有選擇感興趣 就不會將表單送出,如果 只要其中有一個感興趣就能將資料送出

2.另外java(是javascript)寫出來的應該填在下面的"這裡1"還是"這裡2"呢
你說的應該是送出表單的部份吧? 如果是的話 可參考我上述的寫法
本篇文章回覆於2017-08-17 12:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

os_dd
檢舉此回應
有加您寫的程式
我把他分成3部份 ,分別是indexx.html, test.html, inf.php

inf.php


indexx.html



test.html


本篇文章回覆於2017-08-17 12:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我的媽啊~~~

@os_dd
你教人家寫這樣的程式是想要害死誰啊。
我上面都說了不要用for來做處理。你for倒還是用的很高興。
你也不清楚人家是否會不會jquery。就直接使用jquery的方式。也不跟人家說清楚採用的方式。
啊用for來宣告click事件又是哪一招??
你不知道用單一class宣告就能直接宣告所有對應元件的事件了嗎??

然後再用if判斷式來宣告click事件又是哪一招。
不知道事件重覆宣告並不會覆蓋只會累加嗎??而且還是做submit的動作。操死主機啊!!!

我真的是昏了,麻煩你可以的話。不要再教人了。我真的怕這些人會被你帶壞。
看到你寫這樣的程式碼,這已經不是吐血可以形容了。

相信你知道我很少說這樣狠的話。你算是我第一個不得不這樣說。
之前我還會說人家是菜鳥還是怎麼的。現在看到你這樣的程式碼。
這真的已經不是所謂不懂不會的道理了。
整個就是感覺是來搞破壞的。我會被氣死了。

麻煩@Teddy你還是不要研究他的程式碼。誠心警告你!!
本篇文章回覆於2017-08-17 13:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

os_dd
檢舉此回應
浩瀚星空:

我可以跟你說 程式寫法百百種, 當然也是有更簡潔的做法,你的寫法,假設給另一個人比你強的看 也許也會如同你所說的 這已經不是吐血可以形容了。
我只是 "舉例"參考而已,採不採用 無所謂
給一個方向, 不代表 程式照抄, 我也觀查你的回答過,你確實回答的不錯, 但你只要看不慣 就會拼命的攻擊
實在搞不懂 你這樣的意義有何在? 還有另一位也是
攻擊他人 你得到了什麼??
本篇文章回覆於2017-08-17 14:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

os_dd
檢舉此回應
另外 你都這麼說了,從今天起 我不會再藍色小舖回答任何問題和提問了,
反正我的寫法 是吐血來形容的話 留給你們這2位高手來回答吧, 再見!~
本篇文章回覆於2017-08-17 14:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@os_dd
何謂攻擊??相信只要懂一些(不需要高手)的人來看你寫的東西,就可以知道什麼叫做何謂的攻擊。
如果這今天是你自已寫給自已的,我不會說怎麼樣,最多叫你注意一下你的寫法有問題。

但是~~~你是寫起來要教別人的。這我當然在評斷上要嚴格一些。免得初學者學錯了方向。
我這並不是針對你,其它人如果用這樣誇張的錯誤寫法教人。我都會導正。
我相信你並不是第一次看我寫這篇文章。因為很早前就有跟你說過。
教導錯誤方向的程式碼,我當然得要第一時間盡快的導正回來。
一次就算了,二次感覺你有熱心但程度不夠,也就算了。

但你這次太誇張了。完完全全的搞錯jquery的用法。把jquery當javascript的方式使用。
你說我指正你有何不對?
難不成你要說你的是對的嗎??只是寫法不同。

你的寫法就好像是將火車輪子硬裝到汽車上,或是用很多救生圈裝在板子上。
要說是不是可以用,當然可以用。但用的結果會如何???路上被你括出一條一條的痕跡。
出去大海之後。隨時會沈沒。

程式就算是要硬拼的也不是這樣拼。你教的是已經搞破壞的方式了。
讓我不得不出來說一下。

你說「實在搞不懂 你這樣的意義有何在?
攻擊他人 你得到了什麼??」

我並不是攻擊你,真正要說這是攻擊的話,我是攻擊你發表內容。
有何意義??有很大的意義~~~~就是防止其它人學錯了方向。
我得到了什麼???我其實也沒得到了什麼,這邊也沒錢的。有什麼好得到的。
不要想去扭曲話題。我也不太想要再說你。要教人簡單的東西可以,但麻煩不要教錯方向可以嗎??
還是你真的不知道你的程式碼的大問題在哪??你教的東西會如何害死人??

原則上~~~要不要在這邊回答問題。我一樣不會阻止你。但如果會出現很誇張程度的程式碼來教人的。
我也一定會出來導正。
反正你說不在此回答也不是現在第一次了。我也會當聽聽就好。

你也可以換個身份看看,我倒底是針對你個人還是針對內容。
我很少這樣發飆的。這可見你寫的東西是如何誇張了。
我在重申一次,如果這程式是你自已寫寫給自已使用跟問。我只會說說一下問題在哪。
要不要修正看你。反正死的是你個人。

但如果你是要教別人的程式碼,我一定會嚴格處理。因為這已經不是死你個人了。
可能會害死一堆人。

其它你覺得我是想攻擊你還是什麼的,隨你去想。反正有一點能力的人就知道我到底是為何會這樣及你的問題在哪了。
我不需要再多做解釋。






本篇文章回覆於2017-08-17 14:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@Teddy

不要說我不想教好了。本不想說太多的。被上面有點氣到了。
我就來針對你的程式說明一下,我想你這是作業吧。

1.首先是取資料的部份。這部份就比較偏向使用sql語法。

其實改成

這樣就可以將所有條件的文章都直接取出來排列。不需要用for。
為何要這樣改,因為sql的命令不要太多。這是會影響到效能的。
一次命令將資料帶出來在效能跟速度上會快很多。

2.HTML不要用echo或print來做輸出。在排版上會不好排版。
如你的

最好還是使用

這樣的處理方式。
當然~~~如果只是單純交作業就算了。這邊倒是不需要一定不要使用echo的方式。只是如果未來有想要跑這一行的話。
這個習慣一定要改掉。要不然未來如果有美工要跟你搭配的話,一定會幹死你的。

其實你的程式有很多需要修正的地方如 name='doc[]$i' 這我真的不知道你這樣子做在幹嘛。
其實這邊因該是錯誤的命名方式。

另外在感興超的value是你的rid。但不感興趣的value卻是no也讓我搞不太清楚你這是在做什麼。

或許你在修改一下程式碼在來問一下。另外先學一下jquery的載入方式。
本篇文章回覆於2017-08-17 16:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

Teddy
檢舉此回應
真的非常抱歉造成大家的困擾和不愉快,由於我是個剛開始學寫程式的人,關於jquery從來都沒有學過,以至於這麼簡單的都寫不出來,我知道大家的回答是為了讓我學好基礎,我非常感激大家!!

其實我上來發問只是想知道有沒有方法可以用javascript在我標註這裡1跟2的地方做出我要的功能這樣,至於在前面提到用for迴圈SQL的問題,由於我這並不是全部的程式碼,裡面的sumtotal其實是由三個演算法的結果所組成的(三個演算法各10篇文章),並且其中一個演算法是隨機從資料庫中抓取,所以才會在下面用for的方式(不知道這樣回答對不對!)

總之,我非常感謝大家的指導與回答,希望大家能消消氣,希望可以繼續給予指教!! 謝謝!
本篇文章回覆於2017-08-17 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
基本上,無論什麼計算取出的方式。其文章id參數值是不變的。
你原本的方式只是將資料變用
$row[0]
$row[0]
$row[0]
$row[0]
$row[0]
一個一個的參數取出。

我給你的方式是
$row[0]
$row[1]
$row[2]
$row[3]
$row[4]
一次性的取出。

用法是一樣,但使用的sql命令次數是不同的。
如就照你說的一次隨機10篇。你的是分10次sql命令取出一個文意資料
我給你的是用1次命令取出10篇資料。

同樣的功能,效能跟速度則是大大的不同。

一般來說你要的功能是做的到的。會希望你用jquery。是因為寫出來的程式會比較簡單。

因為你可以用

的方式來各自判斷。會比較簡單許多\

如果你要單純的javascript判斷。
可以參考這篇 https://blog.hsin.tw/2008/javascript-form-radio/
這樣子來處理。只是在命名方面你要做一些改變。(如果用jquery倒是不會有這些問題)
本篇文章回覆於2017-08-17 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
另外~~~你可以不需要理會我跟os_dd之間的事。

教錯誤的方式跟破壞性原則的程式碼,我出來導正是很正常的事。
而且這已經不是一次二次了。
有心教人的心態是很好。這點我不會有意見。

只是教也得教對方法。不能教錯方法。
像你這樣的初學者,你一定不知道他的程式碼是有多可怕。會覺得照單全收就ok了。

算了~~~不說了。
反正你放心,過沒多久,他又會換另外一個名字上來了。
我只希望教人是不錯。但不要害到人就好。

本篇文章回覆於2017-08-17 17:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

可樂快跑
檢舉此回應
@Teddy:
這不是消消氣的問題
這是誠信問題
os_dd = 蒼天皓月 以前就宣告再也不在php版回答問題
雖然我們不知道他為什麼會換名稱再回來
但這邊他就先破壞了自己的誠信。

再來就如版主所言,而我的評價則是:
糟、很糟、非常糟

經過大半年回來非但沒進步還越來越退回去。
他說:
『我可以跟你說 程式寫法百百種, 當然也是有更簡潔的做法,你的寫法,假設給另一個人比你強的看 也許也會如同你所說的 這已經不是吐血可以形容了。』
但核心問題不是在於簡潔。
而邏輯條理是否清楚,架構是不是良好明確。

我們曾經給過蒼天皓月很多意見。
他也曾經說要拜版主為師卻不實踐。

如果一個人所謂學習的心,只是口頭說說卻未能實踐。
或是講不出所以然,乾脆就講一堆理由。
是你,你會願意跟他學嗎?

本篇文章回覆於2017-08-17 17:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

可樂快跑
檢舉此回應
來說一個有寓意的傳造性故事:
有一個造輪子很強的師父,他所製造的造輪模具都可以很準確造出高品質的輪框。
但是這個師父的產能卻一天只能做一個輪框。
有人終於忍不住問他:雖然您的造輪技術優秀,可為何您一天只能造一個輪框,一台車要四天才能等到四個輪框能換。
這師父說:因為我能夠很精準的製造出製造輪框的模具,而我每天都要先製造出這樣模具,到了下午最後半個小時的時間才來造出輪框。

於是有人問他:為何不造出一個模具,讓他能夠重覆利用,而要持續重覆造模具呢?

這師父就很生氣說道:造輪方式百百種,你覺得我一個輪框用一個模具的方式很吐血,說不定有人不用模具就能一天造出1萬個輪框比你用了模具一天只能生產1千個輪框,也覺得很吐血……

這個故事告訴我們:
1.不懂的善用資源,徒然浪費時間和效能
2.懂的利用工具,善用資源,就能造出好品質又有效率的產品
3.不用工具,隨意製造出1萬個輪框,就徒然是1萬個垃圾了

本篇文章回覆於2017-08-18 09:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

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