Переименование идентификаторов входных полей в форме, созданной с помощью цикла while - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь отправить форму, сгенерированную с помощью цикла while, который выполняет итерацию по некоторым элементам таблицы, и их количество может варьироваться в зависимости от разных компаний.Поскольку идентификаторы полей ввода / редактирования создаются циклом while, все они имеют одинаковый идентификатор, и это создает проблему, когда я пытаюсь отправить форму, есть ли способ автоматического изменения идентификаторов?Я пытался использовать Javascript безуспешно.Есть ли способ присвоить имена идентификаторам в соответствии с циклом цикла?

Также есть ли лучший способ создать количество полей ввода / редактирования в соответствии с количеством элементов, подлежащих редактированию в таблице 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 голосов
/ 01 февраля 2019

было уже поздно, и я не мог найти ответ, но со свежим взглядом я нашел его.В коде на самом деле есть 2 проблемы, одна из которых заключается в том, что оператор отсутствует, и возникла проблема с «».

Рабочий код приведен ниже, на случай, если он кому-нибудь понадобится.Он создает несколько выпадающих меню, столько же, сколько и мои строки результатов $.

Надеюсь, это кому-нибудь поможет.

$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;
};
0 голосов
/ 31 января 2019

Просто используйте переменную $ i для создания атрибута id элементов управления, которые вы излучаете из цикла while.Таким образом, они будут названы, например, «select1», «select2» и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...