Php html表中的数量选择,每行保存到mysql数据库
我对PHP和HTML还比较陌生,所以我很抱歉不能自己解决这个问题。如果这个想法令人困惑,我也很抱歉。我会尽力解释的 我正在制作一个Discord机器人,它允许通过Discord玩桌面纸牌游戏。这个游戏包括制作一副40张牌(从数百张牌中挑选)。要制作一副牌,玩家需要在机器人上键入一长串以逗号分隔的牌名。为了避免移动用户的这种麻烦,我制作了一个网站,显示所有卡片,每行都有数量选择,所以所有移动用户需要做的是选择卡片的数量,而不是全部打印出来。网站显示像这样。。。 所以,在这一点上,我有点被下一步的方向所困扰。我不知道如何将每行的quantity/“Amount of Copies”选择打印出来,并将其添加到数据库中。如果玩家打算使用3份“吸收”和2份“衰退”,我希望格式类似于“吸收、吸收、吸收、衰退、衰退等”。这显然是一张40张卡片的列表 我通过php while循环将数据放入表中。DiscordID和Kitname字段保存正确。“数量”下拉列表适当地显示选项的0到3。我只是不确定如何将cardname绑定到该行的数量 下面是index.php的代码Php html表中的数量选择,每行保存到mysql数据库,php,jquery,html,mysql,Php,Jquery,Html,Mysql,我对PHP和HTML还比较陌生,所以我很抱歉不能自己解决这个问题。如果这个想法令人困惑,我也很抱歉。我会尽力解释的 我正在制作一个Discord机器人,它允许通过Discord玩桌面纸牌游戏。这个游戏包括制作一副40张牌(从数百张牌中挑选)。要制作一副牌,玩家需要在机器人上键入一长串以逗号分隔的牌名。为了避免移动用户的这种麻烦,我制作了一个网站,显示所有卡片,每行都有数量选择,所以所有移动用户需要做的是选择卡片的数量,而不是全部打印出来。网站显示像这样。。。 所以,在这一点上,我有点被下一步的
<html>
<body>
<head>Make a kit for Bakugan Generations on Discord
<script
src="https://code.jquery.com/jquery-3.4.1.slim.js"
integrity="sha256-BTlTdQO9/fascB1drekrDVkaKd9PkwBymMlHOiG+qLI="
crossorigin="anonymous"></script>
</head>
<form action="insert.php" method="post">
DiscordID: <input type="text" name="discordID" required/><br><br>
Kitname: <input type="text" name="kitname" required/><br><br>
<table id="cards" class="display" style="width:100%" border="1">
<thead>
<tr>
<th>Number of Copies</th>
<th>Card Number</th>
<th>Card Set</th>
<th>Cardname</th>
<th>Energy Cost</th>
<th>Faction</th>
<th>Type</th>
<th>Power</th>
<th>Damage</th>
<th>Text</th>
<th>Core 1</th>
<th>Core 2</th>
<th>Base Bakugan</th>
<th>Rarity</th>
</tr>
</thead>
<tbody>
<?php
$host= "localhost";
$user= "root";
$pass= "";
$db= "cards";
$dbconnect = new mysqli("$host", "$user", "$pass", "$db");
if ($dbconnect->connect_error) {
die("Database connection failed: " . $dbconnect->connect_error);
}
$query = mysqli_query($dbconnect, "SELECT * FROM cardsmaster")
or die(mysqli_error($dbconnect));
while ($row = mysqli_fetch_array($query)) {
echo
"<tr>
<td><select>
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select></td>
<td>{$row['card_number']}</td>
<td>{$row['cardset']}</td>
<td>{$row['card_name']}</td>
<td>{$row['energy_cost']}</td>
<td>{$row['faction']}</td>
<td>{$row['type']}</td>
<td>{$row['power']}</td>
<td>{$row['damage']}</td>
<td>{$row['text']}</td>
<td>{$row['core_1']}</td>
<td>{$row['core_2']}</td>
<td>{$row['base_bakugan']}</td>
<td>{$row['rarity']}</td>
</tr>";
}
?>
</tbody>
</table>
<input type="submit" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
$('#cards').DataTable();
});
</script>
</body>
</html>
为巴库干人的不和谐世代制作一套装备
不和谐:
Kitname:
份数
卡号
卡片组
名片
能源成本
派别
类型
权力
损坏
正文
核心1
核心2
巴库干基地
稀有
您需要给
一个name属性,最好使用$row['card\u name']
变量。然后每一行都会出现在您的$_POST中,您可以在那里使用它。@标记好,所以我设置了
,然后在insert.php文件中放入$cards=$_POST['$row[card_name]QTY']代码>但会导致无法识别的索引错误。我是否还需要在insert.php文件中执行另一个SELECT查询和循环以获取索引,或者是否有其他方法来执行此操作?请将SELECT设置为
。然后在insert.php中执行print\r($\u POST)
并查看得到的结果。@Mark当它放入
时,我得到了一个语法错误。最后我用$cardname='card_name'解决了这个问题代码>就在循环中的回显之前,并将选择名称更改为
我还按照您所说的那样执行了打印($\u POST)
,现在它显示了这一点,这是朝着正确方向迈出的一步,因为它在我选择的下拉列表的正确位置显示了3个数量。但是,如何在insert.php中将$row[card\u name]QTY
名称作为变量?
<?php
$discordID = $_POST['discordID'];
$kitname = $_POST['kitname'];
$host= "localhost";
$user= "root";
$pass= "";
$db= "test";
$conn = new mysqli("$host", "$user", "$pass", "$db");
if (mysqli_connect_error()) {
die('Connect Error('. mysqli_connect_errno().')'. mysqli_connect_error());
}else {
$INSERT = "INSERT INTO demo (discordID, kitname) VALUES (?, ?)";
//statement
$stmt = $conn->prepare($INSERT);
$stmt->bind_param("ss", $discordID, $kitname);
$stmt->execute();
echo "New record inserted successfully!";
}
?>