마커 생성하기

이명진·2022년 3월 22일
0

현재 마커가 나타나는 방식은 php에 직접 작성을 해서 불러오는 방식이다.
이름이나 죄표, 주소 등등을 DB에서 불러오기는 하지만 틀을 직접 짜놨고 마커의 수만큼 코드의 길이를 차지한다.

var positions = [
          {
            index: 1,
            title: '올래곱창',
            latlng: new kakao.maps.LatLng(<?php echo $row["location"] ?>),
            content: '<div class="overlaybox">' +
            '    <div class="boxtitle"><?php echo $row["restaurantName"]?></div>' +
            '    <div class="first">' +
            '        <div class="triangle"></div>' +
            '        <div class="categori"><?php echo $row["categori"]?></div>' +
            '    </div>' +
            '    <div class="instaId"><?php echo $row["instaId"]?></div>' +
            '    <ul class="information">' +
            '        <li class="address">' +
            '            <div class="addr">주소</div>' +
            '            <div class="addr1"><?php echo $row["addr1"]?></div>' +
            '            <div class="addr2"><?php echo $row["addr2"]?></div>' +
            '        </li>' +
            '        <li class="review">' +
            '            <div class="review1">한줄평</div>' +
            '            <div class="review2"><?php echo $row["review"]?></div>' +
            '        </li>' +
            '    </ul>' +
            '</div>'
          },

마커 하나당 이정도의 길이를 차지하고 마커가 추가될 떄 마다 수정할 수 없으니 이를 반복문으로 작성하여 표시해야한다.

restaurants테이블를 select * 해서 num_rows()로 전체 결과의 수 만큼 반복해서 작성해보려고 한다.

DB에서 특정 행을 추출하는 방법이다.

select @rownum:=@rownum+1, A.* from restaurants A, (select @rownum:=0) R;

idx = 2 인 행을 삭제했지만 행 순서대로 나오는 걸 확인할 수 있다.

@rownum 으로 값을 가져와서 해당 행에 해당하는 값만 호출하기

<?php
include"./inc/dbcon.php";

$sql = "select * from restaurants;";
echo $sql;

$result = mysqli_query($dbcon,$sql);
$row = mysqli_num_rows($result);
echo "<br>";
echo $row;

$sql = "select R.* from (select @rownum:=@rownum+1 as row, A.* from restaurants A where (@rownum:=0)=0) R where row = 2;";
echo "<br>";
echo $sql;

$set = "set @rownum = 0;";
mysqli_query($dbcon,$set);
$result = mysqli_query($dbcon,$sql);
$row = mysqli_fetch_assoc($result);
echo "<br>";
echo $row["addr1"];


?>

profile
프론트엔드 뉴비

0개의 댓글