另一个蹩脚的问题
所以,我有一个网站,显示几个学生更改顾问的请求,每个学生都有一个批准和拒绝按钮。然后我有一个Javascript弹出窗口,确认点击任一按钮时的决定,它还会通过电子邮件向学生发送有关此决定的信息。这一切都应该在一页上。
如何指定要更新和发送电子邮件的学生?我知道查询将像$ query =“UPDATE student set current_advisor =”。$ requested_advisor。“其中SID =”。$ sid,但我如何指定我正在为此做哪个学生?
我只使用过PHP表单,用户输入信息,但在这种情况下,所有数据都已存在......
答案 0 :(得分:0)
我不确定这是否是您想要的,但是如果您想要一份顾问列表以及批准或拒绝每个顾问的选项
<?php foreach($advisors as $advisor): ?>
<form method="post" action="somewhere">
<input type="hidden" name="id" value="<?php echo $advisor['id']; ?>" />
<input type="submit" name="result" value="Approve" onclick="return confirm('Are you sure you want to approve this advisor?')" />
<input type="submit" name="result" value="Deny" onclick="return confirm('Are you sure you wish to deny this advisor?')" />
</form>
<?php endforeach; ?>
然后,它会向您的脚本发送一个post数组,该数组应该包含它是被批准还是被拒绝,然后您可以使用id变量从那里处理它以根据您的主键识别您的记录。
希望这会有所帮助:)
答案 1 :(得分:0)
你可以选择做这样的事情。
如果你想用实际的<form>
来做,那么你可以通过在“隐藏”表单字段中输入所需的信息来实现。例如,您可以在每种形式中使用类似的内容:
<input type="hidden" name="SID" value="4" />
在生成HTML时,使用PHP为每个隐藏字段填写value
。
另一种选择是让按钮打开链接,而不是提交表单。在这种情况下,您可以在URL上传递所需的值作为“GET”参数,如下所示:
http://yoursite.com/change_advisor.php?SID=4&new_advisor=18
然后让change_advisor.php
文件使用变量$_GET['SID']
和$_GET['new_advisor']
来执行您需要的查询。
答案 2 :(得分:0)
$sid
是您要更新的学生的ID ...这取决于您构建网页的方式。您可以为每个学生插入表格,如下所示:
// for each student
<form method="post">
<input type="hidden" value="the-sid" name="SID"/>
<input type="submit" value="confirm" name="type" onclick="return confirm('Sure?');"/>
<input type="submit" value="deny" name="type" onclick="return confirm('Sure?');"/>
</form>
// end for each
然后当用户点击批准或拒绝时,PHP中的$ _POST数组将被填充:
array("SID"=> $theSID, "type" => "confirm or deny");