RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [php] [求助]急PHP的選擇紐無法對應??   字型大小:||| 
rich007co
青銅驢友
等級: 11等級: 11等級: 11等級: 11


十週年紀念徽章(五級)  

今日心情

 . 積分: 305
 . 文章: 379
 . 收花: 2638 支
 . 送花: 260 支
 . 比例: 0.1
 . 在線: 2091 小時
 . 瀏覽: 24845 頁
 . 註冊: 7004
 . 失蹤: 0
 . TW
#1 : 2008-4-24 02:49 PM     只看本作者 引言回覆

急PHP的選擇紐無法對應
不知有誰可幫忙看一下
哪邊有錯
希望能快點
我有設定了很多選擇紐 部分
在選擇紐的是要如呵的對應
這是一小部分 太多無法全部列

主程式部分
switch($_POST["UserAge"])
{
case "Age1":
$Age = "未滿20歲";
break;
case "Age2":
$Age = "20~29";
break;
case "Age3":
$Age = "30~39";
break;
case "Age4":
$Age = "40~49";
break;
case "Age5":
$Age = "50歲以上";
}


switch($_POST["UserAge"])
{
case "Age6":
$Age = "男";
break;
case "Age7":
$Age = "女";

}

switch($_POST["UserAge2"])
{
case "Age8":
$Age = "小學";
break;
case "Age9":
$Age = "國中";
break;
case "Age9":
$Age = "高中職";
break;
case "Age10":
$Age = "專科";
break;
case "Age11":
$Age = "專科";
break;

}
另一個覆程式部分
問卷填完時要顯示出來的畫面 都一直對應不上
只有出現前的前面的標題 後面的選單無出現
不知哪裡有設錯

switch($_POST["UserAge"])
{
case "Age1":
$Age = "未滿20歲";
break;
case "Age2":
$Age = "20~29";
break;
case "Age3":
$Age = "30~39";
break;
case "Age4":
$Age = "40~49";
break;
case "Age5":
$Age = "50歲以上";
}


switch($_POST["UserAge"])
{
case "Age6":
$Age = "男";
break;
case "Age7":
$Age= "女";

}

switch($_POST["UserAge2"])
{
case "Age8":
$Age = "小學";
break;
case "Age9":
$Age = "國中";
break;
case "Age9":
$Age = "高中職";
break;
case "Age10":
$Age = "專科";
break;
}


我有設定很多部分有這樣的選擇紐
不知在其他部分的設定是如何 也是如此嗎


本人已把主程式及副程式附上去

[rich007co 在  2008-4-24 08:22 PM 作了最後編輯]


 附件: 您所在的用戶組無法下載或查看附件

相關關鍵字: PHP  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
陽だまり
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15
ささらの可愛さは異常

 . 積分: 1330
 . 精華: 1
 . 文章: 3159
 . 收花: 10387 支
 . 送花: 26639 支
 . 比例: 2.56
 . 在線: 4508 小時
 . 瀏覽: 30308 頁
 . 註冊: 7218
 . 失蹤: 1226
 . 星の彼方
#2 : 2008-4-24 04:49 PM     只看本作者 引言回覆

小弟也只是初學者而已
列出幾個奇怪的地方共同討論一下


引用:
rich007co寫到:
主程式部分
switch($_POST["UserAge"])
{
case "Age1":
$Age = "未滿20歲";
break;
case "Age2":
$Age = "20~29";
break;
case "Age3":
$Age = "30~39";
break;
case "Age4":
$Age = "40~49";
break;
case "Age5":
$Age = "50歲以上";

}


switch($_POST["UserAge"])
{
case "Age6":
$Age = "男";
break;
case "Age7":
$Age = "女";


}

switch($_POST["UserAge2"])
{
case "Age8":
$Age = "小學";
break;
case "Age9":
$Age = "國中";
break;
case "Age9":
$Age = "高中職";
break;
case "Age10":
$Age = "專科";
break;
case "Age11":
$Age = "專科";
break;

}

藍色的地方,應該是二個不同的選擇格子吧
但怎麼會代入同樣的$_POST["UserAge"]來判別對應吧

紅色的地方應該要加上break;來正常的結束吧

然後每一個的$Age的地方
每個格子的$Age應該要叫不同的變數名稱才對(除非你是用array來儲存資料)
不然第一個資料得到後,第二個資料又把第一個的資料給洗掉
最後只會剩你最後一個判別的資料而已

然後,第二段

引用:
rich007co寫到:
另一個覆程式部分
問卷填完時要顯示出來的畫面 都一直對應不上
只有出現前的前面的標題 後面的選單無出現
不知哪裡有設錯

switch($_POST["UserAge"])
{
case "Age1":
$Age = "未滿20歲";
break;
case "Age2":
$Age = "20~29";
break;
case "Age3":
$Age = "30~39";
break;
case "Age4":
$Age = "40~49";
break;
case "Age5":
$Age = "50歲以上";
}


switch($_POST["UserAge"])
{
case "Age6":
$Age = "男";
break;
case "Age7":
$Age= "女";

}

switch($_POST["UserAge2"])
{
case "Age8":
$Age = "小學";
break;
case "Age9":
$Age = "國中";
break;
case "Age9":
$Age = "高中職";
break;
case "Age10":
$Age = "專科";
break;
}


也有和第一段同樣的問題產生
要不要再檢查一下程式呢



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Jonson
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16
藏雲

今日心情

 . 積分: 1796
 . 文章: 1756
 . 收花: 15380 支
 . 送花: 6709 支
 . 比例: 0.44
 . 在線: 5889 小時
 . 瀏覽: 77021 頁
 . 註冊: 7282
 . 失蹤: 28
#3 : 2008-4-24 10:45 PM     只看本作者 引言回覆

樓主沒有把問題的狀態說明的很清楚......

每個 switch case 比對後都是指定變數 $Age
沒有指定資料給正確的變數,當然不會顯示你想要的答案。

PS:
to 陽だまり
switch 最後一組 case 的 break 是可以省略的,因為是「最後一組」,case 比對到此,整個 switch 就會結束,有沒有 break 已不重要。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
陽だまり
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15
ささらの可愛さは異常

 . 積分: 1330
 . 精華: 1
 . 文章: 3159
 . 收花: 10387 支
 . 送花: 26639 支
 . 比例: 2.56
 . 在線: 4508 小時
 . 瀏覽: 30308 頁
 . 註冊: 7218
 . 失蹤: 1226
 . 星の彼方
#4 : 2008-4-25 04:20 PM     只看本作者 引言回覆

抽個空幫樓主做個範例程式
小弟美術很差,所以醜醜的請見諒

demo網址:
http://hidamari.890m.com/

ps:過些時候就會移掉這樣

[attach]34459[/attach]

radio_class函數的使用方法

radio_class($rname,$rvalue,$rchecked)
$rname是這個radio的名稱
$rvalue是這個radio的各個選項(包括值)
$rchecked是這個radio的選項中,想預設點選的選項

學 歷:
來舉例的話就是:
radio_class("school","小學 國中 高中職 專科 大學 碩士 博士","專科")
這個radio叫school,然後各有小學、國中、高中職、專科、大學、碩士、博士這些選項
預設點選在專科的部分這樣

[陽だまり 在  2008-4-25 04:24 PM 作了最後編輯]


 附件: 您所在的用戶組無法下載或查看附件


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
rich007co
青銅驢友
等級: 11等級: 11等級: 11等級: 11


十週年紀念徽章(五級)  

今日心情

 . 積分: 305
 . 文章: 379
 . 收花: 2638 支
 . 送花: 260 支
 . 比例: 0.1
 . 在線: 2091 小時
 . 瀏覽: 24845 頁
 . 註冊: 7004
 . 失蹤: 0
 . TW
#5 : 2008-4-26 08:53 PM     只看本作者 引言回覆

謝謝樓上 大大的解說
你的程式還比我短   我看你的功力也不深
又讓我上了一課   感謝 你的幫忙



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
psycho
鐵驢友〔初級〕
等級: 4


 . 積分: 42
 . 文章: 137
 . 收花: 353 支
 . 送花: 29 支
 . 比例: 0.08
 . 在線: 263 小時
 . 瀏覽: 1660 頁
 . 註冊: 5922
 . 失蹤: 4119
#6 : 2008-4-27 12:31 PM     只看本作者 引言回覆

php 的string 比較有夠怪異的

<?php
$a = "0e2";
$b = "0e3";
if ($a == $b)  print '$a ==  $b'."\n"; // True
if ($a === $b) print '$a === $b'."\n"; // False
if ("000e002073" == "0e2857") print '"000e002073" == "0e2857"'."\n"; // True
?>

請猜執行結果



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
jocosn
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15


今日心情

 . 積分: 1386
 . 精華: 2
 . 文章: 2945
 . 收花: 9537 支
 . 送花: 3671 支
 . 比例: 0.38
 . 在線: 1295 小時
 . 瀏覽: 19041 頁
 . 註冊: 7235
 . 失蹤: 1237
#7 : 2008-5-8 03:23 AM     只看本作者 引言回覆


引用:
psycho寫到:
php 的string 比較有夠怪異的

<?php
$a = "0e2";
$b = "0e3";
if ($a == $b)  print '$a ==  $b'."\n"; // True
if ($a === $b) print '$a === $b'."\n"; // False
if ("000e002073" == "0e2857") print '"000e002073" == "0e2857"'."\n"; // True
?>

請猜執行結果



這是官網下方的範例嗎?
通常字串的比較,不會想用 ==  或 === 去做比較,任何一種程式語言好像都有這樣習慣。?
因為遇到像這種數字字串,有些語言會作型態轉換轉成數值型態去做比較。結果往往出乎你的意料之外。
PHP 通常最好用內建 FUNCTION 去比較字串。
有錯請指正。

官網說明
http://tw2.php.net/operators.comparison
http://tw2.php.net/manual/en/types.comparisons.php

[jocosn 在  2008-5-8 03:24 AM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
eddiehan
青銅驢友
等級: 11等級: 11等級: 11等級: 11
l

十週年紀念徽章(六級)  

 . 積分: 343
 . 精華: 4
 . 文章: 937
 . 收花: 1856 支
 . 送花: 3230 支
 . 比例: 1.74
 . 在線: 2626 小時
 . 瀏覽: 23705 頁
 . 註冊: 7989
 . 失蹤: 1245
#8 : 2009-2-13 12:59 AM     只看本作者 引言回覆

不是有
http://tw.php.net/manual/en/function.strcmp.php
這一類的function可以用嗎囧



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
daidai
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 51
 . 文章: 80
 . 收花: 325 支
 . 送花: 166 支
 . 比例: 0.51
 . 在線: 1631 小時
 . 瀏覽: 13352 頁
 . 註冊: 7107
 . 失蹤: 600
#9 : 2009-2-16 11:03 AM     只看本作者 引言回覆

大概看了一下,在CHECKBOX的陣列有問題
UserPhone[] 後面不需要加數字
表單值盡量不要用中文,如果一定要用,在判別前先echo來看看
<INPUT TYPE="CHECKBOX" NAME="UserPhone[]" VALUE="1">電視節目
<INPUT TYPE="CHECKBOX" NAME="UserPhone[]" VALUE="2">電台廣播
.....

在confirm.php這一頁用一個for迴圈去跑就好了
例如:
$userphone = $_POST["UserPhone"]; // 接受表單陣列並指定陣列變數
for ($i = 0; $i < count($userphone); $i++ ) {
   switch ($userphone[$i]) {
      case "1":
         echo "電視節目";
         break;

      case "2":
         echo "電台廣播";
         break;
      ..........
   }
    if ($i < count($userphone)) { // 印出分隔符號
      echo ",";
   }
}

另外"您目前使用哪家業者的網路?"應該是單選題吧~怎麼會用陣列?@@

另外附上我之前上統計學課程時寫的兩光投票網站原始碼,含簡單的javascript表單驗證,CHECKBOX的選擇數限制,語言:php、資料庫:mysql、統計圓餅圖、可匯出成excel檔
你可以參考看看,若有問題再發問吧

[daidai 在  2009-2-16 11:33 AM 作了最後編輯]


 附件: 您所在的用戶組無法下載或查看附件


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-4-18 08:40 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.027397 second(s), 6 queries , Qzip disabled