很多朋友會使用帝國cms來制作企業站,有時會需要用到產品參數的檢索,而這個產品參數往往會有多種,例如某產品轉速,有1000、2000、3000等多種,甚至每個產品的轉速都不同,有的1200、1400、1600等等。
如產品轉速固定,我們可以使用復選字段來做,添加產品時進行勾選,但我們這里產品參數都不相同。我們就只能考慮對每個產品單獨存儲了。
思路是將產品參數存儲于一個字段中,采用分隔符分割,這樣我們在添加編輯產品時只需要在存儲數據前將提交的表單數據組合后存儲數據庫,讀取時再將數據分割輸出即可。
操作方式如下,首先我們添加一個字段,字段名 rongliang ,字段標識 容量 ,字符類型 varchar ,輸入表單顯示元素 單行文本框,
添加后表單變成如下樣式:
下面修改該字段,將輸入表單替換html代碼填寫為如下,用來實現多數據的分割輸出,以及輸入框的添加:
<script type="text/javascript" src="/scripts/jquery.js"></script> <span id="rongliangcon"> <?php $r[rongliang]=trim($r[rongliang],"|"); $morefr=explode('|',$r[rongliang]); $mfcount=count($morefr); for($mfi=0;$mfi<$mfcount;$mfi++) { ?> <input name="rongliang[]" type="text" value="<?=$morefr[$mfi]?>" size=""> <?php } if(!$r[rongliang]){ ?> <input name="rongliang[]" type="text" value="" size=""> <?php } ?> </span> <button onclick="addrongliang()" type="button">添加一個</button> <script> function addrongliang(){ $("#rongliangcon").append('<input name="rongliang[]" type="text" value="" size=""> '); } </script> |
這樣我們再看表單,就變成了下面的樣子:
但這只是實現了前端部分,我們還需要寫程序的處理部分,在增加和修改函數中,插入sql數據之前添加如下代碼,用于將表單提交的數據組合存儲,為了防止程序出錯,我們進行了空值判斷。
if($add['rongliang']){ $rongliang=$add['rongliang']; $rlcon='|'; for($i=0;$i<count($rongliang);$i++){ $rlcon.=$rongliang[$i]; } $add['rongliang']=$rlcon; } |
if($andr[$i]=='rongliang'){ $listandf.=$doandor.$andr[$i]." like '%|".$andval."|%'"; } |
這樣就大功告成了,前臺制作檢索框后即可檢索。
新聞熱點
疑難解答