일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- java #자바 #나동빈
- dp
- 백준 #알고리즘 #파이썬 #코딩테스트
- 다익스트라
- 파이썬 #백준 #알고리즘 #코딩테스트
- Dijkstra
- css #생활코딩 #웹
- 백트랙킹
- java #자바
- DFS
- react #리액트 #동빈나
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 코딩테스트
- css #웹 #생활코딩
- 백준 #파이썬 #알고리즘 #코딩테스트
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 백준
- 재귀
- 다이나믹프로그래밍
- 알고리즘
- java #자바 #동빈나
- 투포인터
- BFS
- java #자바 #생활코딩
- 자바 #java
- PYTHON
- 파이썬
- 프로그래머스
- react #리액트 #동빈나 #나동빈 #유튜브강의
Archives
- Today
- Total
커리까지
[동빈나] 15강 - 고객(Customer) 정보 삭제 기능 구현하기 본문
728x90
SMALL
- DB에서 삭제되었다는 표시를 주려고 테이블 업데이트를 수행
ALTER TABLE CUSTOMER ADD createDate DATETIME;
ALTER TABLE CUSTOMER ADD isDeleted INT;xxxxxxxxxx UPALTER TABLE CUSTOMER ADD createDate DATETIME;ALTER TABLE CUSTOMER ADD isDeleted INT;
UPDATE CUSTOMER SET createDate = NOW();
UPDATE CUSTOMER SET isDeleted = 0;
- 그러면 테이블이 업데이터되어서 값이 들어가있음
class CustomerDelete extends React.Component {
deleteCustomer(id) {
const url = '/api/customers/' + id;
fetch(url, {
method: 'DELETE'
});
this.props.stateRefresh();
}
render() {
return (
<div>
<Button variant="contained" color="secondary" onClick={this.handleClickOpen}>삭제</Button>)}
}
CustomerDelete를 만들어주고 삭제하는 api도 만들어 줌
삭제 후 새롭게 바뀐 목록을 비동기로 다시 표시
버튼을 클릭하면 해당 함수가 실행되도록 함
<TableCell><CustomerDelete stateRefresh={this.props.stateRefresh} id={this.props.id}/></TableCell>
- Customer.js에 다음을 추가함
- 부모에서 넘어온 stateRefresh를 그대로 넘겨준다.
app.delete('/api/customers/:id', (req, res) => {
let sql = 'UPDATE CUSTOMER SET isDeleted = 1 WHERE id = ?';
let params = [req.params.id];
connection.query(sql, params,
(err, rows, fields) => {
res.send(rows);
}
)
});
- server.js에 삭제하는 구문을 추가
- 쿼리를 클라이언트에 넘겨줌
app.get('/api/customers', (req, res) => {
connection.query(
"SELECT * FROM CUSTOMER WHERE isDeleted = 0",
(err, rows, fields) => {
res.send(rows);
}
);
});
- 가져올때 0인것만 가져오도록 변경
app.post('/api/customers', upload.single('image'), (req, res) => {
let sql = 'INSERT INTO CUSTOMER VALUES (null, ?, ?, ?, ?, ?, now(), 0)';
let image = '/image/' + req.file.filename;
let name = req.body.name;
let birthday = req.body.birthday;
let gender = req.body.gender;
let job = req.body.job;
let params = [image, name, birthday, gender, job];
console.log(params)
connection.query(sql, params,
(err, rows, fields) => {
res.send(rows);
}
);
});
- 생성할 때도 기본값으로 현재 시간과 0을 넣어줌
728x90
LIST
'react' 카테고리의 다른 글
[동빈나] 17강 - AppBar 및 웹 폰트를 적용하여 디자인 개편하기 (0) | 2021.07.04 |
---|---|
[동빈나] 16강 - Material UI 모달(Modal) 디자인 구현하기 (0) | 2021.07.04 |
[동빈나] 14강 - 부모 컴포넌트의 상태(State) 변경을 통한 고객 정보 갱신 (0) | 2021.07.04 |
[동빈나] 13강 - Node.js Express에서 파일 업로드 요청 처리 및 DB에 데이터 삽입 (0) | 2021.07.03 |
[동빈나] 12강 - 고객 추가 양식(Form) 구현 및 이벤트 핸들링 (0) | 2021.07.02 |
Comments