Как создать несколько выпадающих списков выбора с помощью php

Я новичок в php, я хотел бы создать такой же раскрывающийся список выбора. Это код, который у меня есть, но он работает только для первого раскрывающегося списка, а не для второго...

Это код, который я использую без каких-либо успехов:

<?php 
 while($row = mysqli_fetch_array($result))  
      {  
           $output .= '  
                <tr>  
                     <td>'.$row["id"].'</td>  
     				 <td class = "last_name"  >
					 <select id = "t1"><option>'.$row["t1"].'</option>';			
							 while($rowcode=mysqli_fetch_array($resulttasks))
									{ $output .= '<option value = "'.$rowcode["id"].'">'.$rowcode["code"].'</option>' ; }
							 $output .='</select>
					 </td>  
					 <td class = "last_name"  >
					 <select id = "t2"><option>'.$row["t2"].'</option>';			
							 while($rowcode=mysqli_fetch_array($resulttasks))
									{ $output .= '<option value = "'.$rowcode["id"].'">'.$rowcode["code"].'</option>'; }
							 $output .='</select>
					 </td>  
			</tr>';
?>

Заранее спасибо за помощь !

id = "t1" Идентификатор не будет повторяться, используйте разные идентификаторы или используйте класс здесь.
devpro 10.04.2019 12:36

перед второй петлей "т2" попробуйте поставить mysqli_data_seek($resulttasks,0);

Danish Hakim Khan 10.04.2019 12:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
54
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Атрибут id должен быть уникальным, замените повторяющиеся на общие классы:

<select id = "t1">

Должно быть :

<select class = "t1">

Поэтому, когда вы перебираете $result, вы не будете генерировать повторяющиеся идентификаторы.

Я думаю, что это уже уникальный <select id = "t1"> & <select id = "t2"> или я ошибаюсь?

drb 10.04.2019 12:41

@drb, ты используешь цикл

devpro 10.04.2019 12:42

Внутри foreach он будет дублироваться, если foreach будет повторяться 3 раза, мы получим 3 повторяющихся идентификатора.

Zakaria Acharki 10.04.2019 12:42

повторяющиеся идентификаторы предназначены только для DOM и не имеют ничего общего с разбором HTML в PHP. Если вы, ребята, заметили, он использует один и тот же результирующий набор два раза, PHP не запускает еще один цикл с теми же данными после их обработки. Итак, мы должны сбросить до 0-й строки, если мы хотим запустить еще один цикл с тем же набором результатов.

Danish Hakim Khan 10.04.2019 12:45

Хороший улов @DanishHakimKhan +1

Zakaria Acharki 10.04.2019 12:47
Ответ принят как подходящий

Повторяющиеся идентификаторы не проблема, перед вторым циклом выбора "t2" попробуйте поставить mysqli_data_seek($resulttasks,0);

Объяснение: повторяющиеся идентификаторы предназначены только для DOM и не имеют ничего общего с разбором HTML в PHP. Если вы, ребята, заметили, он использует один и тот же результирующий набор два раза, PHP не запускает еще один цикл с теми же данными после их обработки. Итак, мы должны сбросить до 0-й строки, если мы хотим запустить еще один цикл с тем же набором результатов.

Большое спасибо ! Вы можете сказать мне, почему я должен это делать?

drb 10.04.2019 12:43

Вы можете проверить мой комментарий выше в первом ответе, и если мое решение работает для вас, сделайте одолжение :).

Danish Hakim Khan 10.04.2019 12:46

надеюсь, это поможет вам изменить свой идентификатор с циклом пример

$index = 1;
    for($i = 0; $i < $count_array; $i ++) {
        echo '<select id = "t1' . $index . '"></select>';
        $index ++;
    }

Другие вопросы по теме