如何根据php中登录的用户提供信息

时间:2020-11-01 00:37:56

标签: php mysql

有人可以帮我吗?我正在编写一个程序,患者要预约与医生会面,任命后,该患者将处于“待处理”状态,直到只有患者选择的医生才能看到该患者的记录并批准该记录。我尝试了很多尝试,但一直没有得到回报。我在这里有一张屏幕截图,以说明我的意思。我目前以“ Sandeep H S ”的身份登录,所以我只希望他看到患者陪同他的约会 enter image description here

<div class="box-body">
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Patient</th>
<th>Contact</th>
<th>Date & Heure de Rendez-vous</th>
<th>Département</th>
<th>Docteur</th>
<th>Raisons</th>
<th>Statut</th>
<th>Action</th>


</tr>
</thead>
<tbody>
<?php
$sql ="SELECT * FROM appointment WHERE (status='En Attente' OR status='Inactive')";
if(isset($_SESSION[patientid]))
{
$sql  = $sql . " AND patientid='$_SESSION[patientid]'";
}
$qsql = mysqli_query($con,$sql);
while($rs = mysqli_fetch_array($qsql))
{
$sqlpat = "SELECT * FROM patient WHERE patientid='$rs[patientid]'";
$qsqlpat = mysqli_query($con,$sqlpat);
$rspat = mysqli_fetch_array($qsqlpat);


$sqldept = "SELECT * FROM department WHERE departmentid='$rs[departmentid]'";
$qsqldept = mysqli_query($con,$sqldept);
$rsdept = mysqli_fetch_array($qsqldept);

$sqldoc= "SELECT * FROM doctor WHERE doctorid='$rs[doctorid]'";
$qsqldoc = mysqli_query($con,$sqldoc);
$rsdoc = mysqli_fetch_array($qsqldoc);
echo "<tr>

<td>&nbsp;$rspat[patientname] $rspat[patientfn]</td>
<td>&nbsp;$rspat[mobileno]</td>
<td>&nbsp;" . date("d-M-Y",strtotime($rs[appointmentdate])) . " &nbsp; " . date("H:i",strtotime($rs[appointmenttime])) . "</td>
<td>&nbsp;$rsdept[departmentname]</td>
<td>&nbsp;$rsdoc[doctorname]</td>
<td>&nbsp;$rs[app_reason]</td>
<td>&nbsp;$rs[status]</td>
<td><div align='center'>";
if($rs[status] != "Approved")
{
if(!(isset($_SESSION[patientid])))
{
echo "<a href='appointmentapproval.php?editid=$rs[appointmentid]&patientid=$rs[patientid]'>Approuver</a><hr>";
}
echo "  <a href='viewappointmentpending.php'>Supprimer</a>";
}
else
{
echo "<a href='patientreport.php?patientid=$rs[patientid]&appointmentid=$rs[appointmentid]'>Voir Rapport</a>";
}
echo "</center></td></tr>";
}
?>

</tbody>
</table>
</div>

2 个答案:

答案 0 :(得分:0)

您说您以某些医生或其他人的身份“登录”。但是您显示给我们的代码似乎并没有注意到这一点。您是否有$_SESSION[doctorid]之类的会话变量显示您已登录?

您可以在第一个SELECT中基于该医生的ID选择约会吗?那应该显示您想要的约会。

答案 1 :(得分:0)

正如其他人指出的那样,您的代码存在许多错误,即使在实践中 ,它们也会抛出notices|warnings|errors

selecting导致出现多个doctors的主要原因是,您似乎从未真正地(在WHERE子句中指定仅希望从{{1 }},目前已登录。

相反,您得到的是doctor的{​​{1}}变量-这没有意义-并将约会限制为$_SESSION

在我看来,您最好使用patient运行一个查询来捕获所需的所有数据并遍历结果集,而无需其他patient语句。

建议代码

mysqli

JOINs

PDO

SELECT