重命名使用while循环创建的表单中的输入字段ID

时间:2019-01-31 12:20:18

标签: javascript php sql while-loop

我正在尝试发布一个通过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;
 };

2 个答案:

答案 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;
};