Как получить значение многомерного массива на основе идентификатора

У меня есть многомерный массив, я отображаю все значения в таблице, используя цикл 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');


?>

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
71
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

вы можете получить свой идентификатор с помощью $_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>

Как насчет отображения всего списка

user10330977 30.05.2019 07:57

В коде 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>

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