오목이나 바둑 기록판 같은거 db 저장 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
오목이나 바둑 기록판 같은거 db 저장 질문입니다.

QA

오목이나 바둑 기록판 같은거 db 저장 질문입니다.

본문

            <div class="concave_content">

                <?php

                $sixCount = 6;

                $lenCount = 19;

                for ($i = 0; $i < $lenCount; $i++):

                ?>

                <ul class="concave_row">

                    <?php for ($j = 0; $j < $sixCount; $j++): ?>

                        <?php

                        $sell_name = "sell_" . $i;

                        ?>

                        <li class="concave_sell">

                            <p class="concave_text"></p>

                        </li>

                    <?php endfor; ?>

                </ul>

                <?php endfor; ?>

            </div> 

이런 느낌으로 반복되는 코드이고

다 반복되면 대충

<ul>

 <li>

   <p class="black">검은돌</p> or <p class="white">하얀돌</p>

 </li>

</ul>

이런거 110개 정도 만들어지는데

내가 게임했던 판 정보를 저장하고

불러오면 내가 진행했던 게임 판이 그대로 불러와지는 기능?을

db에 어떻게 담을지 고민입니다..

 

당장 떠오르는 방법은

그냥 에디터 쓰는거마냥 html 태그 전부 다 집어넣는 방법인데

말고 다른게 있다면 어떤게 있는지 뭐가 정석인지 궁금합니다..

 

비전공 퍼블리셔에서 사내 1인 신입개발자로 취업된 상태라서

조언 구할만한 사람도 전직장,학원동기 퍼블리셔분들밖에없어요 ㅠㅠ 

개발자님들 도움! 을 주시면 정말 감사하겠습니다..

이 질문에 댓글 쓰기 :

답변 3

검은돌 흰돌을 어떻게 배열하는지, black, white 클래스를 어떻게 부여하는지 상세 설명이 없으니

모르겠으나 black, white 클래스가 부여된 곳이 돌이 있는 곳이라면

간단합니다

좌표를 나타내는 순서쌍을 저장하면 됩니다

<input name='black' id='black' value=''>
<input name='white' id='white' value=''>

 

$class="$i,$j ";

<p class="<php echo $class;?>black">검은돌 

=============================

 black_val =deli = '';
$(".black").each(function(){
    black_val +=deli+$(this).prop("className").replace(/black/,'');      deli ='/';
});

 white_val =deli = '';
$(".white").each(function(){
    white_val +=deli+$(this).prop("className").replace(/white/,'');  deli ='/';
});

$("#black").val( black_val);
$("#white").val( white_val);

 

form에서 위의 input을 전송하여 디비 테이블의 black 필드, white필드에 저장하면 됩니다

저장된 값을 사용할때는 구분자로 분리하여 순서쌍을 $i, $j와 비교하면 원래 위치를 알수 있겠죠

 

 

질문 내용만으로는 구체적인 답변을 드리기는 어렵지만 대략적으로 다음과 같이 해 볼 수는 있을것 같습니다.

참고하셔서 원하시는 구조로 구현하시면 될 것 같습니다.

 


<?php
// 데이터베이스 연결 설정
$servername = "localhost";
$username = "사용자명";
$password = "비밀번호";
$dbname = "데이터베이스명";
$conn = new mysqli($servername, $username, $password, $dbname);
// 데이터베이스 연결 확인
if ($conn->connect_error) {
    die("데이터베이스 연결 실패: " . $conn->connect_error);
}
// 게임 상태 저장
function saveGameBoardState($boardState) {
    global $conn;
    // $boardState를 데이터베이스에 저장하는 쿼리 작성 및 실행
    // 예를 들어, 게임 보드의 상태를 저장하는 쿼리를 실행
    // $query = "INSERT INTO game_board (board_state) VALUES ('$boardState')";
    // $conn->query($query);
}
// 게임 상태 불러오기
function loadGameBoardState() {
    global $conn;
    // 데이터베이스에서 게임 보드의 상태를 불러오는 쿼리 실행
    // 예를 들어, $query = "SELECT board_state FROM game_board ORDER BY timestamp DESC LIMIT 1";
    // $result = $conn->query($query);
    // $row = $result->fetch_assoc();
    // $boardState = $row['board_state'];
    // return $boardState;
}
// 게임 보드 상태 저장
$gameBoardState = "게임 보드 상태 정보"; // 이 정보는 실제 게임 보드 상태로 대체되어야 합니다.
saveGameBoardState($gameBoardState);
// 게임 보드 상태 불러오기
$loadedGameBoardState = loadGameBoardState();
// $loadedGameBoardState를 사용하여 게임 보드를 재구성하십시오.
// 데이터베이스 연결 닫기
$conn->close();
?>

 

게임 보드의 구체적인 상태를 저장하려면 데이터베이스 테이블 및 필드를 적절하게 설계해야 하고, 또한 게임 보드 상태를 저장하고 불러올 때 필요한 SQL 쿼리를 작성해야 할 것으로 생각합니다.

셀 아이디를 넣어두고 

db에 게임아이디,검은돌, 흰돌 칼럼 만든다음에 색별로 셀 아이디 배열로 넣고

아이디로 불러와서 쭉 넣어주는 방법이 있겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT