0

我需要过滤医生的日期(curdate)和id来查看每个医生的日期(每个医生只需要查看他/她每天的唯一日期..

如果我不把它,id_doctor = GET['id_doctor']放在 where 子句中,我有这个代码可以工作

    <table class="table table-striped table-bordered bootstrap-datatable datatable">
    <thead>
    <tr>
    <th>Fecha</th>
    <th>Hora</th>
    <th>Nombre de Paciente</th>
    <th>Acciones</th>
    </tr>
    </thead>
    <tbody>
    <? $sql = "SELECT * FROM CITAS WHERE f_cita = CURDATE(),id_doctor = GET['id_doctor'] ORDER BY f_cita, h_cita ASC";
    $result = $conn->query($sql);
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <tr>
    <td><

? echo $row['f_cita'] ?></td>
<td><? echo $row['h_cita'] ?></td>
<td><? echo $row['nombrep'] ?></td>
<td><a class="btn btn-success" href=paciente_personal_profile.php?id_paciente=<? echo $row['id_paciente']; ?>>
<i class="icon-user icon-white"></i> Ver Perfil</a>
</td>
</tr><? } ?>
</tbody>
</table>

我在 CITAS 表中有这个 FK(id_paciente 和 id_doctor),但我需要当“x”id_doctor 登录系统时,他/她只能看到他/她的日期......

你能帮我解决这个问题吗?

此致!

4

1 回答 1

1

这是因为它应该$_GET[]而不是GET[]这样

GET['id_doctor'] 

应该

$_GET['id_doctor']

并且您还需要将您的 where 子句与AND

WHERE f_cita = CURDATE() AND id_doctor = ".$_GET['id_doctor']." ORDER BY f_cita, h_cita ASC";
                       --^you placed a comma here instead of AND

我还建议您,您的代码容易受到 mysql 注入的影响,您应该阅读以下内容:如何防止 PHP 中的 SQL 注入?

您应该使用准备好的陈述来避免任何风险,在此处了解更多信息

这是来自 stackoverflow 的一个很好的示例令牌

$id  = 1;
$stm = $pdo->prepare("SELECT name FROM table WHERE id=?");
$stm->execute(array($id));
$name = $stm->fetchColumn();
于 2013-06-04T15:26:11.783 回答