Как отобразить все строки с определенным аспектом

0

У меня две таблицы. Они связаны через одну (userinfo) с многими (достижениями) отношениями внешнего ключа. То, что я пытаюсь сделать ниже, является эхом всех строк, которые имеют заданный $ usrid. Это может быть несколько.

К сожалению, это только эхо-контент одной из строк. Как я могу изменить его для эха всех строк, где присутствует определенный идентификатор пользователя?

<!DOCTYPE HTML>
<head>
<?php  $usrid = $_GET['usrid'];
$connection = @mysqli_connect("localhost","root","","Rain")
OR die('Could not connect' .
      mysqli_connect_error());

$query = "SELECT usrid, username, oldname, languages, joindate, art, hunting, frontwebdev, backwebdev, writing, programming, se, smm, pentesting, timezone, availability, reliability, profilePicture FROM userinfo WHERE usrid='" . $usrid . "';";
$response = @mysqli_query($connection,$query);
$row = @mysqli_fetch_array($response);
$username = $row['username'];

$achvquery = "SELECT achieveid, usrid, achievementname, achievementdescr, timestamp FROM achievements WHERE usrid=" . $usrid . ";";
$achvresponse = @mysqli_query($connection,$achvquery);
$achvrow = @mysqli_fetch_array($achvresponse);
$achvtitle = $achvrow['achievementname'];
$achvdescr = $achvrow['achievementdescr'];
?>
<title>
All Achievements
</title>
</head>
<body>
<span> <?php echo "<span> " . $username . "s OD Achievement History "; ?> </span>

<span id="newAchvLink"> <?php echo "<a id='addNewLink' href='addachievement.php?usrid=" . $usrid . "'> Add new</a>"; ?></span>
<br /> <?php echo "<h2> Achv: </h2>  <h3 class='achvtitle'>" . $achvtitle . "</h3>"; echo $achvdescr;?><br /><br />
</body>
</html>
  • 0
    вам нужно будет постоянно извлекать строки, используйте блок while stackoverflow.com/questions/12647154/…
  • 0
    используйте цикл while для отображения всей строки
Показать ещё 4 комментария
Теги:

3 ответа

0
first table query
while loop
{
$userid=first_table_data['user_id'];
2nd table query where userid=$userid
while loop
{

}

all value save in array
}
print value
0

Вы можете использовать цикл while для печати всей строки

$query = "SELECT usrid, username, oldname, languages, joindate, art, hunting, frontwebdev, backwebdev, writing, programming, se, smm, pentesting, timezone, 
 availability, reliability, profilePicture FROM userinfo WHERE usrid='" . $usrid . "';";
$response = @mysqli_query($connection,$query);
while ($row = @mysqli_fetch_array($response))
{
    echo $row['username'];
}
  • 0
    Ничего не найдено, когда я попытался это сделать. Страница остается пустой
  • 0
    удалите @ и попробуйте снова
Показать ещё 3 комментария
0

Если у вас есть PHP echo statement, вы можете заменить его чем-то вроде...

 while($row = $result->fetch_assoc($response)) {
 echo "<span> " . $username . "s Op Achievement History ";

Вы должны посмотреть JOIN, чтобы упростить все это для вас. https://www.w3schools.com/sql/sql_join.asp

Это довольно хорошее/простое понимание использования циклов PHP. https://www.tutorialspoint.com/php/php_loop_types.htm

  • 0
    У OMKARA есть более глубокий ответ. Я бы все же взглянул на изучение предложения JOIN.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню