日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
實現(xiàn)MySQL書架的后臺操作流程

以下的文章主要說明的是MySQL書架的后臺,其中主要包括的有其功能的具體描述,MySQL數(shù)據(jù)庫的總體設(shè)計,MySQL數(shù)據(jù)庫的實際操作,以下的文章就是對這些相關(guān)內(nèi)容的主要描述。望你瀏覽之后會有所收獲。

設(shè)計模式之迭代器 Iterator ,寫了一個list類SortedArrayList不知該叫什么名字,誰有在墻上掛一個MySQL書架的經(jīng)驗?

功能描述:

這只是項目中的小模塊,項目中有幾個欄目小說 期刊 綜合,每個欄目都有書籍,在sns中,當(dāng)?shù)卿浻脩?,看到某本書的時候,可以點擊放入我的書架,選擇放入那個書架,每個書架可以放20本書,每個用戶最多可以建10個書架。對放到書架上的書,可以在我的排序中自動拖動,而在其他的更新排序中按實際時間顯示,用戶不可以改變順序,

數(shù)據(jù)庫設(shè)計:

數(shù)據(jù)庫主要用來保存放到MySQL書架中書籍的一些信息,封面 描述 地址 等,還有重要的 書架類別字段(用一個二維數(shù)組實現(xiàn)),每個書架有20個位置可以放書,可以設(shè)置一個字段,放書的時候是書的id ,沒放書的就用0來表示,可以用一個二維數(shù)組,數(shù)組的key 用來放書架的類別,值用來放此類別中的信息,

數(shù)據(jù)庫的操作:

數(shù)據(jù)庫操作說明項目都是一樣的CURL基本的操作,具體到本項目中,就是先添加,每個用戶有一個默認(rèn)數(shù)據(jù),就是***個數(shù)組,用戶可以改變書架的名字就是數(shù)組的鍵值,對于每一個數(shù)組的操作,當(dāng)加入此書架時,移動位置時 ,下架時,當(dāng)向書架中添加書籍時還要判斷此書架是否已經(jīng)放滿沒有位置了,還有就是同一本書不能在一個書架中放入兩次以上。

對于整個字段,就是在添加書架類別的時候,新建一個數(shù)組,初始里面的數(shù)組,就是初始一個空書架。當(dāng)添加書架的時候判斷書架是否以超過***數(shù)目(可以在前面頁面根據(jù)等級控制用戶可以創(chuàng)建書架的個數(shù));create table bookshelf (uid int(11) ,shelf text);//創(chuàng)建書架表bookshelf

Sql代碼

$arr = array('默認(rèn)數(shù)據(jù)'=>'0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0');//插入默認(rèn)書架的數(shù)據(jù),一個數(shù)字,key 為書架名字,value為數(shù)據(jù)上的位置默認(rèn)為空,

 
 
 
  1. $text = serialize($arr);//序列化該數(shù)組   
  2. insert into bookshelf (uid shelf) values( "$text" ,'$uid');//插入初始化數(shù)據(jù)   
  3. //添加書架,書架'shelf1' 名字要唯一   
  4. $shelfs=select shelf from bookshelf where uid = '$uid';//查詢出uid 的書架   
  5. $a = unserialize($shelfs);//反序列化MySQL書架得到數(shù)組,   
  6. for(int i=0;i
  7. if($(a)[0]==shelf1){   
  8. return "此書架以存在";   
  9. }   
  10. return true;   
  11. }   
  12. $p = array('shelf1'=>'0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0');   
  13. $p = serialize($p);//插入新書架   
  14. insert into bookshelf shelf values ('$p') where uid = '$uid';   
  15. //添加書籍 book1 'bid1'到書架shelf1   
  16. $shelfs1 = select shelf from bookshelf where uid = '$uid';//   
  17. $b = unserialize($shelfs1);//   
  18. for(int i=0;i
  19. if($b[i][0]=='$shelf1'){//得到要插入的MySQL書架   
  20. $pk = explode('-','$b[i][1]);   
  21. for(int num=1;num
  22. if($pk[1][i]==0){   
  23. for(int k=1;k
  24. if($pk[i][1]=='$bid1'){   
  25. return '此書架已有此時';   
  26. }else{//書架中沒有此書可以插入 默認(rèn)插入到后面   
  27. if($pk[i][1]==0){   
  28. $pk[i][1]==$bid1;//插入數(shù)組   
  29. return implode("-",$pk[i]);//返回字符串   
  30. }   
  31. }else   
  32. return "此書架以放滿";   
  33. }   
  34. //讀取書架 用于在加入書架時顯示的列表 書籍?dāng)?shù)量 存入一個數(shù)組中   
  35. $arr = new array();   
  36. $shlefs = select shelf from bookshelf where uid ='$uid';//   
  37. $ss = unsersize($shelfs);//反序列化MySQL書架信息   
  38. for(int nn=1;nn
  39. $key =$ss[i][0];   
  40. $value=0;   
  41. $n = explode("-",$ss[i][1]);   
  42. for(int mm=1;mm
  43. if($n[1] !=0){   
  44. $value++;   
  45. }   
  46. $arr[0]=$key;   
  47. $arr[1]=$value;   
  48. }   
  49. //移動書籍 把bid2 從5位置移動到8位置   
  50. $startpos = 2;   
  51. $endpos = 8;   
  52. if($startpos<0 || $startpos>20 || $endpos<0 || $endpos>20 || $startpos==$endpos)exit;   
  53. $shelf = $_db->fetch_first("select * from `sns_shelf` where `uid`={$uid}");   
  54. $shelf select shelf from bookshelf wher uid ='$uid';   
  55. $shelfs=unserisize($shelf);//   
  56. feach($shelfs as $key ,$value){   
  57. $array = explode("-",$value);   
  58. if($array[1] == 'bid2'){找到bid2所在的MySQL書架   
  59. if($sarry[1][$startpos]==0)exit;//如果開始位置沒有書不交換   
  60. $temp = $sarry[1][$endpos];//交換位置   
  61. $sarry[1][$endpos]=$sarry[1][$startpos];   
  62. $sarry[1][$startpos]=$temp;   
  63. $val = implode("-",$value[1]);   
  64. $shelfs[1] = $val;   
  65. serialize($shelfsl);//序列化shelf   
  66. update bookshelf set shelf = shelfs where uid = '$uid';  
  67. 更新   
  68. }   
  69. }   

下架書籍


標(biāo)題名稱:實現(xiàn)MySQL書架的后臺操作流程
轉(zhuǎn)載注明:http://www.5511xx.com/article/cdehdsh.html