我一直试图让mysql处理电路板数据,例如位置,并让电路板显示电路板上的黑色和红色部分
董事会具有诸如
之类的值第8行到第1行 和 列A到H
所以我可以使用mysql在棋盘之间移动
问题: 我如何将该数组转换为mysql,以便它可以让板行和列数据然后给行和列赋值,这样我就可以显示这些碎片并使用这些值来移动棋盘中的碎片
function displayboard(){
$Board = array
(
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
array(0,0,0,0,0,0,0,0),
);
$row = 0;
print "<form>";
print "<table border = 1>";
while ($row < 8){ // Counts to 8. (from 0...7 = 8 times. 0 ... 8 = 9 times)
print "<tr>";
$row++;
$col = 0; // reset column to 0 each time printing one row.
while ($col < 8){
print "<td>";
if($Board[$row][$col] == 0)
{
print "<input type=\"checkbox\" name=\"box[]\" value=\"$value\">";
// Add \ before " otherwise it will treat as the end of the quote.
}
print "</td>";
$col++;
}
print "</tr>";
}
print "</table>";
print "</form>";
}
答案 0 :(得分:0)
这不是很有效,但是实现你想要的东西是一种非常简单的方法。也就是说,假设您正在询问如何将MySQL中的小数组存储和检索到PHP中以用于检查程序。如果这不是您要求的,请澄清您的问题。
在MySQL的某个地方,你有一张桌子。我们称这个表为boards
。无论你想在这张表中使用哪些其他列,都没有大问题,但请留下一个字符串数据。然后使用JSON对数组进行编码。
$yourboarddata=json_encode($Board);
mysql_query("INSERT INTO boards (data) VALUES (\"" . mysql_real_escape_string($yourboarddata) . "\");");
如果您准备稍后检索它,可以使用json_decode。
请注意,这会使用相当数量的数据。您可以通过从板上制作二进制数据来节省大量存储空间,但这是一种简单的方法。
答案 1 :(得分:0)
您可以将您的电路板数据存储在数据库中,但如果您想生成不同大小的电路板会发生什么?你需要记住这一点。如果你可以充分维护它,那么类似于下面的东西就足够了:
Table: boards
id INT PRIMARY KEY
board_id INT
x TINYINT
y TINYINT
checked ENUM('0','1') DEFAULT '0'
这样,您可以在数据库中查询单个电路板,并使用x
和y
值构建它,以及是否已选中。