久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

123下一頁
返回列表 發帖
查看: 2480|回復: 21

[求助] 分類信息字段中的選擇和多選的數據庫表,123替換

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
樓主
發表于 2023-9-26 14:23:22 | 只看樓主 |倒序瀏覽 |閱讀模式
pre_forum_typeoption數據庫表在選擇或多選時有1=xx2=yy3=zz等等。pre_forum_typeoptionvar表及pre_forum_optionvalue1用123代表式,怎么能讓這兩個表篩選并輸出變量,1替換為xx,2替換為yy,3替換為zz等等
我知道答案 回答被采納將會獲得1 貢獻 + 3 金幣 已有21人回答
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
置頂 來自 11#
 樓主| 發表于 2023-9-27 08:53:01 | 只看Ta
$tid=任意帖子ID;
pre_forum_typeoptionvar表:$typeoption = DB::fetch_all("SELECT rules FROM %t WHERE optionid > %d", array('forum_typeoption', 6));
pre_forum_typeoptionvar表:$typeoptionvar = DB::fetch_all("SELECT value FROM %t WHERE tid = %d", array('forum_typeoptionvar', $tid));
pre_forum_optionvalue1表:$optionvalue1= DB::fetch_first("SELECT * FROM %t WHERE tid = %d", array('forum_optionvalue1', $tid));
這時$typeoption的選擇和多選的字段對應的元素中會出現1=xx2=yy3=zz還有其他不知道什么碼包圍。$typeoptionvar和$optionvalue1的選擇和多選的元素中會有某個選項1或2或3或23或13或23或123等等。其實123就是代表值,怎么能讓這兩個變量$typeoptionvar和$optionvalue1,1替換為xx,2替換為yy,3替換為zz等等


回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
置頂 來自 12#
 樓主| 發表于 2023-9-27 08:55:40 | 只看Ta
roc29a 發表于 2023-9-27 08:53
$tid=任意帖子ID;
pre_forum_typeoptionvar表:$typeoption = DB::fetch_all("SELECT rules FROM %t WHERE  ...

這是一個PHP處理數組的問題
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
置頂 來自 18#
 樓主| 發表于 2023-9-27 09:46:13 | 只看Ta
rules部分:[rules]={1=xx2=yy3=zz}
value部分:[value]={123}
某字段值:[字段]={123}
需求結果:
value部分:[value]={xx,yy,zz}
某字段值:[字段}={xx,yy,zz}
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
置頂 來自 22#
 樓主| 發表于 2023-10-6 10:33:52 | 只看Ta
改進了一下,并把圖片的雜亂碼去掉
  1. //取出含數字字符串中最大的數字
  2. function extractMaxNumber($str) {
  3.   $maxNumber = '';
  4.   $isNumber = false;
  5.   for ($i = 0; $i < strlen($str); $i++) {
  6.     if (is_numeric($str[$i])) {
  7.       if (!$isNumber) {
  8.         $maxNumber = $str[$i];
  9.         $isNumber = true;
  10.       } else {
  11.         $maxNumber .= $str[$i];
  12.       }
  13.     } else {
  14.       $isNumber = false;
  15.     }
  16.   }
  17.   return (int) $maxNumber;
  18. }
  19. //$typeoption的[rules],$choices分割成數組
  20. foreach ($typeoption as $keys => $types) {
  21.   if (strpos($types[rules], 'choices') !== false) {//$typeoption找出選擇和多選的rules
  22.     $choices[$keys][rules]=$types[rules];
  23.     $optionids[$keys]=$types[optionid];
  24.     $optionids=array_values($optionids);
  25.     $choices[$keys][rules]=strstr($choices[$keys][rules],'1 = ');
  26.     $choices[$keys][rules]=strstr($choices[$keys][rules],'"',true);//把數組截取
  27.       for($i=1;$i<=extractMaxNumber($choices[$keys][rules]);$i++){
  28.         $choices[$keys][rules]=str_replace("$i = ", ",$i=", $choices[$keys][rules]);
  29.       }
  30.     $choices[$keys][rules]=substr($choices[$keys][rules],1);//去除第一個字符
  31.     $choices[$keys][rules]=explode(",",$choices[$keys][rules]);//字符串分割成數組
  32.     $typeoption[$keys][rules]=$choices[$keys][rules];
  33.   }
  34. }

  35. //$typeoptionvar,$optionids數組里的$choice分割成數組并替換
  36. foreach ($typeoptionvar as $key => $type){
  37.   if (in_array($type[optionid], $optionids)){
  38.     $choice[$key][value]=$type[value];
  39.       for($i=1;$i<=extractMaxNumber($choice[$key][value]);$i++){
  40.         $choice[$key][value]=preg_replace('/\s+/','', $choice[$key][value]);
  41.       }
  42.     $choice[$key][value]=str_split($choice[$key][value]);
  43.     //把$choice最底層數組含數字元素替換成對應的$choices含有數字的元素并去除數字和=
  44.     foreach($choice[$key][value] as $tion => $rule){
  45.       foreach($choices[$key][rules] as $tions => $rules){
  46.         if (strpos($rules, "$rule") !== false) {
  47.           $choice[$key][value][$tion]=$choices[$key][rules][$choice[$key][value][$tion]-1];
  48.         }
  49.       }
  50.       for($i=1;$i<=extractMaxNumber($choice[$key][value][$tion]);$i++){
  51.         $choice[$key][value][$tion]=str_replace("$i=", " ", $choice[$key][value][$tion]);
  52.       }   
  53.     }
  54.     $choice[$key][value]=implode(" ", $choice[$key][value]);
  55.     $typeoptionvar[$key][value]=$choice[$key][value];
  56.   }
  57. }

  58. foreach ($typeoptionvar as $key => $type) {
  59.     if (strpos($type[value], 'data') !== false) {
  60.         $image[$key][value]=strstr($typeoptionvar[$key][value],'data');
  61.         $image[$key][value]=str_replace('";}','',$image[$key][value]);
  62.         $typeoptionvar[$key][value]=$image[$key][value];
  63.     }
  64. }
復制代碼
回復

使用道具 舉報

40

主題

3198

回帖

5451

積分

應用開發者

Discuz! 運維

貢獻
215 點
金幣
685 個
QQ
沙發
發表于 2023-9-26 14:32:29 | 只看Ta
你看到是123,但實際中間有一個制表符,應該是
  1. 1        2
復制代碼
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
板凳
 樓主| 發表于 2023-9-26 14:38:43 | 只看Ta
科站網 發表于 2023-9-26 14:32
你看到是123,但實際中間有一個制表符,應該是

嗯,看起來像個空格,能去掉,整體我就搞不下來了。
回復

使用道具 舉報

40

主題

3198

回帖

5451

積分

應用開發者

Discuz! 運維

貢獻
215 點
金幣
685 個
QQ
地板
發表于 2023-9-26 14:45:15 | 只看Ta
mysql update replace下
回復

使用道具 舉報

40

主題

3198

回帖

5451

積分

應用開發者

Discuz! 運維

貢獻
215 點
金幣
685 個
QQ
5#
發表于 2023-9-26 14:45:43 | 只看Ta
再不行寫個腳本跑一下
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
6#
 樓主| 發表于 2023-9-26 14:58:02 | 只看Ta
科站網 發表于 2023-9-26 14:45
mysql update replace下

這個不行啊,不想改變數據庫字段值
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
7#
 樓主| 發表于 2023-9-26 15:00:10 | 只看Ta
科站網 發表于 2023-9-26 14:45
再不行寫個腳本跑一下

已經查資料,查百度,查百度AI折磨四五天了,我是初學者還是沒搞定
回復

使用道具 舉報

16

主題

80

回帖

138

積分

漸入佳境

貢獻
4 點
金幣
7 個
8#
發表于 2023-9-26 17:52:47 來自手機 | 只看Ta
不太清楚你的具體訴求,但如果是要在帖子內容頁特定顯示分類字段的信息,可以直接編寫自定義分類信息的帖子內容頁模板,想怎么調用就怎么調用。如果是要在其他地方篩選分類信息字段展示,看能不能在后端獲取到帖子的分類信息字段變量寫一個邏輯判斷來輸出,沒必要動數據庫字段信息
回復

使用道具 舉報

2

主題

19

回帖

24

積分

初學乍練

貢獻
0 點
金幣
0 個
9#
 樓主| 發表于 2023-9-27 08:29:45 | 只看Ta
酷畫創意 發表于 2023-9-26 17:52
不太清楚你的具體訴求,但如果是要在帖子內容頁特定顯示分類字段的信息,可以直接編寫自定義分類信息的帖子 ...

帖子內容頁的內容能調到門戶文章內嗎?想把帖子的分類信息模板和內容調到文章里去。我這是在走數據庫表去實現
回復

使用道具 舉報

40

主題

3198

回帖

5451

積分

應用開發者

Discuz! 運維

貢獻
215 點
金幣
685 個
QQ
10#
發表于 2023-9-27 08:37:57 | 只看Ta
roc29a 發表于 2023-9-27 08:29
帖子內容頁的內容能調到門戶文章內嗎?想把帖子的分類信息模板和內容調到文章里去。我這是在走數據庫表去 ...

直接寫一個插件不就完事了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2025-9-18 19:15 , Processed in 0.090825 second(s), 35 queries .

Powered by Discuz! W1.0 Licensed

Copyright © 2001-2025 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表