Я сейчас нахожусь в процессе создания социальной сети. Я показываю всех зарегистрированных пользователей со следующим кодом.
Есть ли лучший способ сделать это?
<?php
$query = $db->query("SELECT * from members");
while($r = $query->fetch()) {
echo '<div class="col-sm-6 col-md-6 col-lg-3 membersGrid">';
echo '<div class="profileThumb">';
echo '<img width="130" height="130" src="'.$r['profile_pic'].'"/><br>';
echo $r['username'], '<br>';
echo $r['country'], '<br>';
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
echo '</div>';
echo '</div>';
}
?>
Я пытаюсь создать ссылку на отдельные страницы профиля для каждого пользователя. В настоящее время каждая ссылка находится в указанном выше цикле while, однако я немного не уверен, как сделать ссылку на соответствующую страницу профиля. Я предполагаю, что мне нужно добавить переменную в URL. Любое руководство будет с благодарностью.
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
Это будет зависеть от того, как ваша страница profile.php обрабатывает переменную GET, которая определяет профиль человека, которого вы показываете. Допустим, переменная называется id
и что у вас есть ряд в вашем члены стол также называется id
(который действует как уникальный ключ), тогда ваш тег привязки будет выглядеть так:
echo '<a class="viewProfile" href="profile.php?id=' . $r['id']. '"><button>View Profile</button></a>';
Если вы создаете список ссылок на профили пользователей, есть несколько вариантов:
Вы можете добавить $_GET
переменная в конце вашей ссылки, как ранее упоминалось Ллойдом
echo '<a href="profile.php?if=' . $r['id'] . '">';
или вы можете отправить $_POST
переменная; Самый простой способ сделать это — создать список форм:
<?php
$query = $db->query("SELECT * from members");
while($r = $query->fetch()) {
echo '<div class="col-sm-6 col-md-6 col-lg-3 membersGrid">';
echo '<div class="profileThumb">';
echo '<img width="130" height="130" src="'.$r['profile_pic'].'"/><br>';
echo $r['username'], '<br>';
echo $r['country'], '<br>';
echo '<form action="profile.php" method="post">';
echo '<input type="hidden" value="' . $r['id'] . '" />';
echo '<input type="submit" value="View Profile" />';
echo '</form>';
echo '</div>';
echo '</div>';
}
?>
Извините, если я неправильно прочитал ваш вопрос, надеюсь, это поможет.
Сначала получите Идентификатор пользователя пользователя из базы данных, как вы делаете с запросом. Затем укажите этот идентификатор для ссылки на профиль:
echo '<a href="profile.php?userid=' . $user_id . '>Linkname</a>';
Затем в profile.php получить эту переменную через:
$id = $_GET['userid'];
Таким образом, вы можете отобразить профиль соответствующего пользователя в файле profile.php.
Надеюсь, у вас возникнет идея продолжить работу.