У меня есть следующие три страницы кода. Первая страница спрашивает пользователя, какие музыкальные жанры ему нравятся (со временем будет более 20 жанров). На 2-й странице пользователю предлагается ранжировать выбранные жанры, а на 3-й странице сортируется и отображается их рейтинг.
На этой первой странице пользователю предлагается выбрать жанры, которые ему нравятся:
<form id="genre" name="genre" method="post" action="musicsell.php">
<input type="checkbox" name="genre[]" id="Rap" value="Rap"/>Rap<br />
<input type="checkbox" name="genre[]" id="HipHop" value="HipHop"/>HipHop<br />
<input type="checkbox" name="genre[]" id="RnB" value="RnB"/>RnB<br />
<input type="checkbox" name="genre[]" id="Rock" value="Rock"/>Rock<br />
<input type="checkbox" name="genre[]" id="Jazz"value="Jazz"/>Jazz<br />
<p>
<input type="submit" value="Next">
<br />
</p>
</form>
В этой секунде им предлагается ранжировать (расставлять приоритеты) жанры, которые они выбрали, где 1 означает лучший:
<form id="form1" name="form1" method="post" action="musicresults.php">
<?php
$name = $_POST['genre'];
if(isset($_POST['genre'])) {
foreach ($name as $genre){
?>
<input type="number" required="required" id="<?php echo $genre ?>" name="music[<?php echo $genre ?>]" max="3" min="1" /><?php echo $genre ?><br />
<?php
}
}
?>
<input type="submit" name="button" id="button" value="Submit" /></form>
Третья и последняя страница сортирует и повторяет результаты:
<?php
//Get the form results (which has been converted to an associative array) from the $_POST super global
$musicgenres = $_POST['music'];
//Sort the values by rank and keep the key associations.
asort($musicgenres, SORT_NUMERIC );
//Loop over the array in rank order to print out the values.
foreach($musicgenres as $music => $rank)
{
echo "$music is your $rank choice";
echo "<br>";
}
?>
Пример результатов:
Рэп – ваш выбор номер один
Хип-хоп – ваш выбор номер два
RnB – ваш выбор номер три
Но как я могу поместить отдельный набор кода на последнюю страницу, чтобы я мог эхо-переменную (например, echo "musicstring = $musicstring";
), которая отображала бы результат вроде:
musicstring = рэп, хип-хоп, RnB
Я думаю, что функция implode необходима, но я не уверен.