我被一段代码困扰着,想要从MySQL中将数据提取到一个数组中。我有一个表单包含着颜色和尺寸选择框,在触发onclick
的Javascript函数时,该函数会创建两个新的选择框。我已经成功地将数据传递到了此Javascript代码中,该代码用于创建新的选择框。然而,我只能从两个表格中获取最后插入的记录。虽然我使用了while
循环。
有人可以帮助我吗?在这里,我也得到了所有选择框的名称,如name="color[]"
,我想将记录插入到包含颜色和尺寸ID的桥接表中。以下是我的代码,请帮帮我..
我来解释一下,每次我点击“添加更多”按钮,它应该创建2个新的下拉列表,一个是颜色,另一个是尺寸,每个下拉列表都应该具有来自数据库的不同数据。因此,每个记录的ID在每个下拉列表中都应该相同,我想在桥接表中添加超过1个记录,其中包括产品ID、颜色ID和大小ID,因此如果我选择了第一个下拉列表中的蓝色和小号尺寸,那么对于第二个下拉列表,我再次选择蓝色和中号尺寸,最后一个下拉列表也是由Javascript函数生成的,我选择的是黑色和大号尺寸。因此,从下拉列表中获取尺寸、颜色的ID,并相应地插入它们。因此,当我显示产品并选择蓝色时,我只能看到在添加产品时添加到蓝色中的大小。希望这可以澄清一切:)
$result=mysql_query("SELECT * FROM color,size");
while($row=mysql_fetch_array($result)) {
?>
<script>
var room = 1;
function add_fields() {
room++;
var objTo = document.getElementById('room_fileds')
var divtest = document.createElement("div");
divtest.innerHTML = '<div class="label">Room ' + room + ':</div><div class="content"><span>Color: <select name="color[]"><option value="<?php echo $row['color_id']; ?>"><?php echo $row['color']; ?></option></select></span><span>Size: <select><option value="<?php echo $row['size_id']; ?>"><?php echo $row['size']; ?></option></select></span></div>';
objTo.appendChild(divtest)
}
</script>
<?php
}
HTML代码
<div id="room_fileds">
<div>
<div class='label'></div>
<div class="content">
<input type="button" class="btn btn-success" id="more_fields" onclick="add_fields();" value="Add More" /> <br /><br />
<select name="color[]" class="form-control">
<option value="0">Select Color</option>
<?php
$result=mysql_query("SELECT * FROM color");
while($row=mysql_fetch_array($result)){
?>
<option value="<?php echo $row['color_id'] ?>"><?php echo $row['color']; ?></option>
<?php } ?>
</select>
<select name="size[]" class="form-control">
<option value="0">Select Size</option>
<?php
$result=mysql_query("SELECT * FROM size");
while($row=mysql_fetch_array($result)){
?>
<option value="<?php echo $row['size_id'] ?>"><?php echo $row['size']; ?></option>
<?php } ?>
</select>
</div>
</div>
</div>