我正在尝试发布一个通过while循环生成的表单,该表单在一个表的某些元素上进行迭代,并且它们的数量会根据不同的公司而有所不同。因为输入/编辑字段的ID是由while循环创建的,所以它们都具有相同的ID,并且在我尝试提交表单时这会产生问题,是否可以自动更改ID?我尝试使用Javascript失败。有没有一种方法可以根据循环周期来命名ID?
还有一种更好的方法来根据SQL表中要编辑的项目数来创建许多输入/编辑字段吗?
echo '<form id="myForm" action="edit.php" method="POST">';
echo '<div class="leftcontact">';
$i=0;
while($query_data = mysqli_fetch_row($result)) {
$_SESSION["List"]=$query_data[2];
$_SESSION["List_company_id"]=$query_data[0];
$result2 = mysqli_query($connection, "SELECT * FROM `calling_lists` WHERE `calling_list_id`='".$_SESSION["List"]."'");
$query_data2 = mysqli_fetch_row($result2);
$_SESSION["list_name"]=$query_data2[1];
echo '<div class="form-group">';
echo '<p>List number</p>';
echo '<select class="dropdown" name="ID">';
echo "<option selected = 'selected' value=\"".$_SESSION["List_company_id"]."\">".$_SESSION["list_name"]."</option>";
$query1="SELECT * FROM `calling_lists`";
$result1=mysqli_query($connection,$query1) or die ("Query to get data from list table failed: ".mysql_error());
while ($row1=mysqli_fetch_array($result1)) {
$list_name=$row1["calling_list_name"];
$list_description=$row1["calling_list_description"];
$list_id=$row1["calling_list_id"];
echo "<option value=\"$list_id\">"
. $list_name .
"</option>";
};
$i=$i+1;
};
答案 0 :(得分:0)
只需使用$ i变量来创建您从while循环中发出的控件的id属性。因此,它们将被命名为“ select1”,“ select2”等等。
答案 1 :(得分:0)
太晚了,我不知道答案,但是换了新的外观,我发现了它。在代码中实际上存在两个问题,一个是缺少运算符,而“”存在问题。
下面的工作代码在任何人需要的情况下。它会创建许多下拉菜单,与我的$ results行一样多。
希望它对任何人都有帮助。
$i=0;
while($query_data = mysqli_fetch_row($result)) {
$_SESSION["List_company_id"]=$query_data[3];
$_SESSION["List"]=$query_data[1];
$_SESSION["list_name"]=$query_data2[2];
echo '<div class="form-group">';
echo "<p>List number $i</p>";
echo '<span class="icon-case hidden-xs"><i class="fa fa-home"></i></span>';
echo "<select class='dropdown' name=\"".$_SESSION['List_company_id']."\">";
echo "<option selected = 'selected' value=\"".$_SESSION["List_company_id"]."\">".$query_data[2]."</option>";
$query1="SELECT * FROM `calling_lists`";
$result1=mysqli_query($connection,$query1) or die ("Query to get data from list table failed: ".mysql_error());
while ($row1=mysqli_fetch_array($result1)) {
$list_name=$row1["calling_list_name"];
$list_description=$row1["calling_list_description"];
$list_id=$row1["calling_list_id"];
echo "<option value=\"$list_id\">
$list_name
</option>";
};
echo "</select>";
echo "</div>";
$i=$i+1;
};