У меня есть многомерный массив, я отображаю все значения в таблице, используя цикл foreach. в этой таблице у меня есть профиль просмотра (href=). что я хочу сделать, так это получить массив и передать его на другую страницу и отобразить значение массива на основе идентификатора
<?php include_once('fake_db.php'); ?>
<--index.php-->
<div class = "widget-body">
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<th>Name</th><th>Position</th><th>Action</th>
</tr>
</thead>
<?php foreach($employees as $key => $value){ ?>
<tr>
<td><?= $value['name']?></td>
<td><?= $value['position']; ?></td>
<td><a href = "profile.php?id=<?= $key; ?>">View Profile</a></td>
</tr>
<?php } ?>
</table>
</div>
<-- profile.php -->
<h3>Employee Profile : Employee Name</h3>
<a href = "index.php">Back to Employee List</a>
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<td>Name </td>
<td>Employee Position</td>
</tr>
</thead>
<tr>
<td></td>
<td></td>
</tr>
</table>
<--fake_db.php-->
<?php
$employees = array
(
1 => array("name" => 'Jason Alipala', "employee_id" => 'G1001-05', 'position' => 1),
2 => array("name" => 'Bryann Revina', "employee_id" => 'G1009-03', 'position' => 2),
3 => array("name" => 'Jeniel Mangahis', "employee_id" => 'G1009-04', 'position' => 2),
4 => array("name" => 'Arjay Bussala', "employee_id" => 'G1009-05', 'position' => 3),
5 => array("name" => 'Ronnel Ines', "employee_id" => 'G1002-06', 'position' => 3)
);
$emp_positions = array_count_values(array_column($employees, 'position'));
$positions = array(1 => 'TL', 2 => 'Programmer', 3 => 'Converter');
?>






вы можете получить свой идентификатор с помощью $_GET[•id'] и вы можете проверить свой идентификатор с помощью isset, если он прошел или нет... если(isset($_GET['id'])
затем передайте этот идентификатор в свою базу данных или, если вы передаете ключ массива... передайте этот ключ в массив
Пожалуйста, замените profile.php следующим.
<?php include_once('fake_db.php');
$id = $_GET['id'];
$employee = $employees[$id]
?>
<h3>Employee Profile : Employee Name</h3>
<a href = "index.php">Back to Employee List</a>
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<td>Name </td>
<td>Employee Position</td>
</tr>
</thead>
<tr>
<td><?php echo $employee['name'] ?></td>
<td><?php echo $employee['position'] ?></td>
</tr>
</table>
В коде profile.php, как показано ниже, я для удобства поместил массив информации о выбранных сотрудниках в массив selected_employees.
<?php if (isset($_GET["id"])):
$selected_employee=$employees[$_GET["id"]];
?>
<h1>Is Set</h1>
<h3>Employee Profile : <?= $selected_employee["name"]; ?></h3>
<a href = "index.php">Back to Employee List</a>
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<td>Name <?= $selected_employee["name"]; ?></td>
<td>Employee Position: <?= $selected_employee["position"]; ?></td>
</tr>
</thead>
</table>
<?php endif; ?>
Вы можете принять ответ @Khiev. Но если вы не хотите включать файл данных дважды, вы можете выполнить эту процедуру:
<?php include_once('fake_db.php'); ?>
<--index.php-->
<div class = "widget-body">
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<th>Name</th><th>Position</th><th>Action</th>
</tr>
</thead>
<?php foreach($employees as $key => $value){ ?>
<tr>
<td><?= $value['name']?></td>
<td><?= $value['position']; ?></td>
<td><a href = "profile.php?id=<?= rawurlencode(json_encode($value)); ?>">View Profile</a></td>
</tr>
<?php } ?>
</table>
</div>
And in the `profile.php` file grab the `id` variable via `$_GET` variable.
<?php
$id = $_GET['id'];
$employee = json_decode(rawurldecode($id), true);
?>
<h3>Employee Profile : Employee Name</h3>
<a href = "index.php">Back to Employee List</a>
<table class = "table table-condensed table-striped table-bordered table-hover no-margin">
<thead>
<tr>
<td>Name </td>
<td>Employee Position</td>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $employee['name'] ?></td>
<td><?php echo $employee['position'] ?></td>
</tr>
</tbody>
</table>
Как насчет отображения всего списка