程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP教程:PHP處理數組模式的以選未選input多選框

PHP教程:PHP處理數組模式的以選未選input多選框

編輯:PHP入門知識

一般從數據循環出來的選框要處理是否被選中都是使用IF去判斷,結果造成代碼一堆,速度過慢。

我做了一個閉包分享給大家,希望對大家有用。

代碼:
  1. function ifNumExists($numList,$key) {
  2. $return = false;
  3. $arraylist = split(",", $numList);
  4. $Length = count($arraylist)-1; //最後一個數組結果為空,所以應當減去。
  5.         for ($i=0;$i<$Length;$i++){
  6.                 if ($arraylist[$i] == $key) {
  7.                         $return = true;
  8.                 }
  9.         }
  10.         return $return;
  11. }

使用方法:
  1. ifNumExists(數組,當前單選框對應ID)

表結構:
單選框循環表(A):
id   class
1   類別1
2   類別2
3   類別3
4   類別4

單選值存放表(B):
id   classid
1   1,2,3,
2   2,3,4,
3   1,2,

當循環表A,判斷是否當前input是否被選中,那麼我們就可以使用
ifNumExists(classid,表Aid),返回的結果為true或者false,根據返回的結果我們給input增加或者不增加 checked="checked"。
如:
  1. if (ifNumExists(classid,$value['id'])) {
  2.  $list = $list."<input type=\"checkbox\" name=\"SendNums[]\" value=\"".$value['id']."\" checked=\"checked\" />".$value['class']."</li>";
  3. }else{
  4.  $list = $list."<input type=\"checkbox\" name=\"SendNums[]\" value=\"".$value['id']."\" />".$value['class']."</li>";
  5. }
  6. return $list;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved