---
# System prepended metadata

title: 實習紀錄

---

# 實習紀錄
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整個頁面。
