我想从特定用户中选择数据。当他登录网站时,他会看到与他有关的信息。
我正在使用INNER JOIN,我需要选择与他的登录名或ID有关的数据。
我用来登录的任何帐户,我都可以访问所有已注册的练习= /
在这种情况下,我使用的是ID。
查询有问题吗?
我没有从PHP得到任何错误。我在哪里可以放置WHERE子句?
码:
<?php
$login = $_SESSION['login'];
$consulta = mysqli_query($conexao,"SELECT exercicios.nome_exercicio AS nome_exc,
exercicios.repeticoes_exercicio AS rep_exc,
exercicios.serie_exercicio AS serie_exc
FROM exercicios
INNER JOIN usuarios ON usuarios.id_usuario = exercicios.id_usuario WHERE exercicios.id_usuario = '5'");
if(mysqli_num_rows($consulta)> 0){
echo "<div class='table-responsive'><table class='table table-responsive'>
<tr><td>Nome</td><td>Repetições</td><td>Série</td></tr>";
while ($exercicio = mysqli_fetch_assoc($consulta))
{
print"<tr>
<td>$exercicio[nome_exc]</td>
<td>$exercicio[rep_exc]</td>
<td>$exercicio[serie_exc]</td>
</tr>";
}
echo " </table></div>";
}
else {
echo "<h3>Seu instrutor ainda não cadastrou exercícios</h3>";
}
?>
最佳答案
您会错过一些重要的事情,例如,您在会话变量登录名中存储哪些数据?
$login = $_SESSION['login'];
当用户首次发送登录数据(例如电子邮件和密码)时,您将在数据库中搜索数据(表帐户或用户或所需的表),然后如果存在,则应在会话中存储用户数据( id是最重要的)。因此,当您需要访问用户的练习时,只需在诸如以下条件(在此示例中,$ login是包含用户数据的数组)上指定正确的用户ID:
"SELECT .... FROM .... WHERE id = {$login['userId']}"
希望这种解释足以解决您的问题。