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

오목이나 바둑 기록판 같은거 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에 게임아이디,검은돌, 흰돌 칼럼 만든다음에 색별로 셀 아이디 배열로 넣고

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

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

회원로그인

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