#arrays #sorting
#массивы #сортировка
Вопрос:
Index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Activity 5B</title>
<style>
.box {
width: 600px;
padding: 10px;
margin: 0;
border: 1px outset black;
background-color: lightblue;
text-align: center;
}
table {
table-layout: fixed;
width: 600px;
'border: 1px solid red;
text-align: left;
}
table,
th,
td {
'border: 1px solid black;
}
table th, table td{
padding: 5px;
}
</style>
</head>
<body>
<div class="box">
<form action="process.php" method="POST">
<br>
<h4>EXAMINATION RESULT</h4>
<br>
<br>
<table>
<tr>
<th style='width:10%'>No.</th>
<th style='width:40%'>NAME</th>
<th style='text-align: center'>EXAM1</th>
<th style='text-align: center'>EXAM2</th>
<th style='text-align: center'>EXAM3</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" size="27" name="name[]" required></td>
<td><input type="text" size="5" name="ex1[]" required></td>
<td><input type="text" size="5" name="ex2[]" required></td>
<td><input type="text" size="5" name="ex3[]" required></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" size="27" name="name[]" required></td>
<td><input type="text" size="5" name="ex1[]" required></td>
<td><input type="text" size="5" name="ex2[]" required></td>
<td><input type="text" size="5" name="ex3[]" required></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" size="27" name="name[]" required></td>
<td><input type="text" size="5" name="ex1[]" required></td>
<td><input type="text" size="5" name="ex2[]" required></td>
<td><input type="text" size="5" name="ex3[]" required></td>
</tr>
<tr>
<td colspan="2"style='text-align: center' ><input type="submit" name="submit" value="SUBMIT REQUEST"></td>
<td colspan="3" style='text-align: center'> <button type="reset" value="Reset">CLEAR</button></td>
</tr>
</table>
</form>
</div>
</body>
</html>
Process.php
<!DOCTYPE html>
<html>
<head>
<style>
.box {
width: 350px;
padding: 10px;
margin: 0;
border: 1px outset black;
background-color: lightblue;
text-align: center;
}
table {
table-layout: fixed;
width: 350px;
border: 1px solid red;
text-align: left;
}
table,
th,
td {
border: 1px solid black;
}
</style>
</head>
<body>
<div class="box">
<?php
if(isset($_POST['submit'])){
$name = $_POST['name'];
$ex1 = $_POST['ex1'];
$ex2 = $_POST['ex2'];
$ex3 = $_POST['ex3'];
$exam = array();
for($i = 0; $i < count($name); $i ) {
$exam[] = array(
'name' => $name[$i],
'exam1' => $ex1[$i],
'exam2' => $ex2[$i],
'exam3' => $ex3[$i],
);
}
echo "<pre>";
print_r($exam);
echo "<pre>";
$keys = array_keys($exam);
for($i = 0; $i < count($exam); $i ) {
echo "<p><b>Exam Result $keys[$i]</b></p>";
echo "<ul>";
foreach($exam[$keys[$i]] as $key => $value) {
echo $key . " : " . $value . "<br>";
}
echo "</ul>";
}
}
?>
</div>
</body>
</html>
enter code here
Оригинальное упражнение от проф. Форма и вывод
У меня нет проблем с назначением текстового ввода массиву, у меня проблема с отображением правильного вывода
Это мой целевой результат
Результат экзамена 1
- Rolly 99
- Джеймс 80
- Дейв 79
Результат экзамена 2
- Дейв 95
- Rolly 86
- Джеймс 80
Результат экзамена 3
- Джеймс 88
- Дейв 75
- Rolly 60
Любая помощь будет с благодарностью оценена Благодаря stackoverflow
Комментарии:
1. Добро пожаловать в Stack Overflow. В чем ваш вопрос?
2. Спасибо, ребята.. Я уже понял это…
Ответ №1:
echo "<p><b>TOTAL STUDENTS: ". count($exam)."</b></p>";
for($i = 0; $i < count($exam); $i ) {
echo "<p><b>Exam Result ".($i 1)."</b></p>";
$keys = array_column($exam, "exam$i");
array_multisort($keys, SORT_DESC, $exam);
foreach ($exam as $row) {
echo "<li>". $row['name']. " ". $row["exam$i"]."</li>";
}
}
}