我想从特定用户中选择数据。当他登录网站时,他会看到与他有关的信息。

我正在使用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']}"


希望这种解释足以解决您的问题。

10-07 13:20
查看更多