728x90
- 메인 페이지에 최신 방명록 3개를 불러오는 코드
src = "https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"
src = "https://www.gstatic.com/firebasejs/8.8.1/firebase-database.js"
src = "https://www.gstatic.com/firebasejs/8.8.1/firebase-analytics.js"
src = "https://www.gstatic.com/firebasejs/8.8.1/firebase-auth.js"
$(document).ready(async function () {
const firebaseConfig = {
//...
};
firebase.initializeApp(firebaseConfig);
const database = firebase.database();
//방명록 불러오는 부분
const dbRef = database.ref('logs').orderByChild('ups').limitToLast(3);
dbRef.on("value", (snapshot) => {
snapshot.forEach((child) => {
const object = child.val();
let temp = `
<p>${object.content} (${object.name})</p>
`
$('#visit-comment').append(temp);
});
});
//방명록 불러오는 부분 끝남
});
const dbRef = database.ref('logs').orderByChild('ups').limitToLast(3);
- 데이터 정렬 방식: orderByChild()
지정된 하위 키를 포함하는 데이터가 다음과 같이 정렬됨
null > false > true > 숫자, 사전 오름차순
'ups': 오름차순 정렬 - child의 고유키 순서대로
+++ firebase 실시간 데이터베이스는 firestore와 달리 push()가 생성하는 id가 타임 스탬프에 기반하기 때문에 시간 순으로 정렬됨
- 정렬 함수 뒤에 붙는 제한 쿼리 limitToLast()
지정된 숫자만큼 정렬된 마지막 메시지를 수신
dbRef.on("value", (snapshot) => {
dbRef에서 가져온 데이터 snapshot
- 방명록에 랜덤 프로필 추가
let profiles = ['apeach','muzi','neo','prodo','ryan'];
var random_index = Math.floor(Math.random() * profiles.length);
var pfp = profiles[random_index];
Javascript 난수 생성하기
1. Math.random(): 0~1 사이의 부동소수덤 난수를 생성
2. Math.floor(): 소수점 1번째 자리를 버림하여 리턴하는 함수
-> random_index 생성
db에 'pfp' 필드 추가하여 저장
let temp = ` ...
<span><img class="pfp" , src="./image/minsun/pfp/${object.pfp}.png" , alt="pfp"></span>
...`
방명록을 불러올 때 pfp.png로 저장한 사진을 함께 불러옴
- Java 문자열 내의 문자를 내림차순으로 정렬하는 법
https://jinjinjincode.tistory.com/103
'TIL' 카테고리의 다른 글
[231012] KPT 회고, 학습법 특강, next()와 nextLine() (0) | 2023.10.12 |
---|---|
[231011] 비트 연산, Arrays 등 이용한 문제 풀기 (0) | 2023.10.11 |
[231006] HTTP 공부, 방명록 기능 검토 (0) | 2023.10.06 |
[231005] Rest API, JSON 공부, 페이지 기능 구현 (0) | 2023.10.05 |
[231004] git 강의, 와이어프레임 설계 & 정적 페이지 구현 (0) | 2023.10.04 |