Передать значение из ссылки href на страницу сведений - PullRequest
0 голосов
/ 08 ноября 2019

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

Как вставить имя пользователя в ссылку href и передать его на страницу сведений?

Это все, что у меня есть на минуту:

if ($allPlayers > 0 ) {
    while ($allPlayersItem = mysqli_fetch_assoc($playersQuery)) {
        echo "<a href='detailpage.php'>".$allPlayersItem['gamertag']."</a>";
        echo "<br>";
    }
}

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019

Вы можете добавить gamertag игрока к параметру запроса, например:

echo "<a href='detailpage.php?player={$allPlayersItem['gamertag']}'>".$allPlayersItem['gamertag']."</a>";

Затем в detailpage.php вы можете написать:

$player = $_GET['player'] ?? '';
if ($player != '') {
     // display player details...
}

Обратите внимание, что если *Значение 1009 * может содержать специальные символы, тогда вам необходимо urlencode значение, прежде чем использовать его в качестве параметра, т.е.

echo "<a href='detailpage.php?player=" . urlencode($allPlayersItem['gamertag']) . "'>".$allPlayersItem['gamertag']."</a>";
0 голосов
/ 08 ноября 2019

Прежде всего, я предлагаю вам разделить ответственность за получение данных из БД и рендеринг данных. Наиболее распространенным подходом для этого может быть использование шаблона MVC.

Что-то вроде:

# Controller/PlayerController
final class PlayerController
{
    public function index(): Response
    {
        $players = [/* list of players to display. From the DB, for example*/];

        return $this->render('player/index.[blade|twig|php]', $players);
    }
}

# Views/player/index.php
<?php foreach ($players as $player): ?>
    <a href='detailpage.php'>" . <?= $player['gamertag']?> . "</a><br>"
<?php endforeach ?>

Я рекомендую вам изучить и узнать больше об этой теме, используя google Например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...