# 實習紀錄 2021-12-27 康任均 ## 基礎MSSql語法 ![](https://i.imgur.com/SxKXqbX.png) [來源](https://dotblogs.com.tw/caubekimo/2010/07/28/16874) 在實習過程中比較常用到 <ol> <li>A-B</li> <li>B-A</li> <li>A∪B</li> <li>A∩B</li> </ol> ## Laravel架構簡介 ![](https://i.imgur.com/mTDrvmZ.png) ## 協助修改Code ### Debug #### 問題描述: 頁面"通訊單位設定"中,功能"修改通訊單位資料"出現error:字串或二進位資料會被截斷 ![](https://i.imgur.com/o81zZG9.png) #### 解決過程: 詢問學長(正職員工)table tCusClassRoomContact位在哪個資料庫 用DBSchema查看table個欄位資料型態和長度 ![](https://i.imgur.com/kXF27US.png) ![](https://i.imgur.com/tJGJcof.png) google之後知道varchar長度8只能容納4個中文字 與學長討論過後修改欄位DEPNO長度 <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">Alter table tCusClassRoomContact Alter column DEPNO varchar(50) </code></pre></div> 將以上code交給學長,學長再去更改資料庫(model部分) ### 修改查詢條件 #### 需求描述: 在"場地借用審核"頁面,新增兩個查詢條件, 分別為: 學生學號、身分證字號 #### 解決過程 先修改view,使用已有API,新增"學生學號""身分證字號"搜尋欄位 ![](https://i.imgur.com/qtJZFxe.png) 到Controller修改用來抓資料的sql語法,詢問學長後得知學號與身分證在vStuStudentAll table, 在原有的SELECT語法中增加 <code>LEFT JOIN vStuStudentAll vSt</code> <code>ON a.StudentNo = vSt.StudentNo</code> 然後新增WHERE篩選條件 <code>$sWhere .= " AND vSt.StudentNo LIKE ?";</code> <code>$aParam[] = '%' . $StudentNo . '%';</code> 還有 <code>$sWhere .= " AND vSt.PersonalID LIKE ?";</code> <code>$aParam[] = '%' . $PersonalID . '%';</code> ### 提升使用者體驗 #### 需求描述: 有些比較早期寫的網頁使用者只要進行資料庫存取,整個頁面都會刷新,影響使用體驗。 #### 解決過程: 學長告訴我哪些頁面已經有jQurey ajax,然後我再google爬文盡量了解ajax裡的參數,</br>最後成功移植功能到舊頁面上。不過當時連ajax怎麼做到部分更新頁面的原理都讀不懂,</br>技術文章裡每個字都看得懂,但整篇合起來就不知道在做什麼。</br>我當時只知道&#36;.ajax裡參數對應的意思,加上透過比對多個已有&#36;.ajax的頁面,再加上請教學長,才成功完成需求。</br>完成第一個需求之後接下來的需求都大同小異,變成有點半機械式的工作。</br>不過我目前知道ajax類似主程式生出來的thread,有獨立的request/response cycle,並能更新DOM,所以能夠做到不refresh整個頁面。