作为一个新程序员,我很难弄清楚如何准确地编码这种情况。我已经通过 stackoverflow 采取了一些解决方案,但是这个似乎并没有像我想象的那样工作。我有一个标签可以正确放入一个选定的项目,但如果我放入两个或三个,它会给我数字。即,如果我选择了 3 个 id 为 3、5 和 8 的选项,它会变成 358,而不是创建 3-3、3-5、3-8 的多对多目录关系。
目的是该表格正在创建一个新角色,该角色可能会获得一些缺点。然后将这些缺点与新字符的唯一 ID 联系起来。
$query2 = implode ( "",$_POST['did']);
$sql="INSERT INTO player_disadvantage
(disadvantageid,characterid)
VALUES ('".$query2."',LAST_INSERT_ID())"
;
<tr>
<td>Disadvantages</td>
<td>
<?php
$result = $mysqli->query("SELECT * FROM disadvantages");
echo '<SELECT multiple="multiple" id="did" name="did[]">';
while($row1 = $result->fetch_assoc()) {
$disadvantages = $row1['name'];
$disadvantagesid = $row1['did'];
$disadvantagescost = $row1['cost'];
echo "<option value='".$disadvantagesid."'>". '+' . ' ' . $disadvantagescost . ' ' . $disadvantages . "</option>";
}
echo '</select>';
?>
</td>
我唯一的猜测是找到一种移动代码的方法,以便将 LAST_INSERT_ID() 与每个劣势 id 放在一起。我不确定如何编码。