테스트 사이트 - 개발 중인 베타 버전입니다

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

구르르르 2년 전 조회 2,295

            <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개

채택된 답변
+20 포인트
2년 전

검은돌 흰돌을 어떻게 배열하는지, 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와 비교하면 원래 위치를 알수 있겠죠

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

cuwaaang
2년 전

셀 아이디를 넣어두고 

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

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

 

</p>

<p><?php

// 데이터베이스 연결 설정

$servername = "localhost";

$username = "사용자명";

$password = "비밀번호";

$dbname = "데이터베이스명";</p>

<p>$conn = new mysqli($servername, $username, $password, $dbname);</p>

<p>// 데이터베이스 연결 확인

if ($conn->connect_error) {

    die("데이터베이스 연결 실패: " . $conn->connect_error);

}</p>

<p>// 게임 상태 저장

function saveGameBoardState($boardState) {

    global $conn;

    // $boardState를 데이터베이스에 저장하는 쿼리 작성 및 실행

    // 예를 들어, 게임 보드의 상태를 저장하는 쿼리를 실행

    // $query = "INSERT INTO game_board (board_state) VALUES ('$boardState')";

    // $conn->query($query);

}</p>

<p>// 게임 상태 불러오기

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;

}</p>

<p>// 게임 보드 상태 저장

$gameBoardState = "게임 보드 상태 정보"; // 이 정보는 실제 게임 보드 상태로 대체되어야 합니다.

saveGameBoardState($gameBoardState);</p>

<p>// 게임 보드 상태 불러오기

$loadedGameBoardState = loadGameBoardState();

// $loadedGameBoardState를 사용하여 게임 보드를 재구성하십시오.</p>

<p>// 데이터베이스 연결 닫기

$conn->close();

?>

 

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인