我目前正在学习 html 和 php,并且制作了这个关于“通知系统”的小项目。我想在详细讨论我的真正问题之前我首先必须解释一下这一点。
我的表格如下所示:
我的第一个 php 命令将获取每个特征列的值并将它们存储到 $a、$b、$c、$d 和 $e 中。
我的第二个 php 命令将回显 5 个文本框,并根据 $a、$b、$c、$d 和 $e 的值将它们标记为选中,因此基于我的表格的输出将显示五个复选框第一个、第二个和第四个复选框带有复选标记。
我的第三个 php 命令将从复选框收集值,因为用户可能想要更改他的首选通知。单击提交后,代码将更新文本框的新值。
下面是我当前进度的代码:
<?php
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('main_database') or die(mysql_error());
$fetchchoice=mysql_query("SELECT * FROM notification_table WHERE username='carl'");
while($getchoice=mysql_fetch_assoc($fetchchoice)){
$a=$getchoice['feature1'];;
$b=$getchoice['feature2'];
$c=$getchoice['feature3'];
$d=$getchoice['feature4'];
$e=$getchoice['feature5'];
}
?>
<html>
<head>
</head>
<body>
<form method="POST">
<?php
echo
'
<input type="hidden" name="choice1" value="">
<input type="checkbox" name="choice1" value="checked" '.$a.' > Feature 1 <br>
<input type="hidden" name="choice2" value="">
<input type="checkbox" name="choice2" value="checked" '.$b.' > Feature 2 <br>
<input type="hidden" name="choice3" value="">
<input type="checkbox" name="choice3" value="checked" '.$c.' > Feature 3 <br>
<input type="hidden" name="choice4" value="">
<input type="checkbox" name="choice4" value="checked" '.$d.' > Feature 4 <br>
<input type="hidden" name="choice5" value="">
<input type="checkbox" name="choice5" value="checked" '.$e.' > Feature 5 <br>
';
?>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if(isset($_POST['submit']))
{
$f1choice = $_POST['choice1'];
$f2choice = $_POST['choice2'];
$f3choice = $_POST['choice3'];
$f4choice = $_POST['choice4'];
$f5choice = $_POST['choice5'];
echo "1.";
echo $f1choice;
echo "<br />";
echo "2.";
echo $f2choice;
echo "<br />";
echo "3.";
echo $f3choice;
echo "<br />";
echo "4.";
echo $f4choice;
echo "<br />";
echo "5.";
echo $f5choice;
$kweri = "UPDATE `main_database`.`notification_table` SET `feature1` = '".$f1choice."', `feature2` = '".$f2choice."', `feature3` = '".$f3choice."', `feature4` = '".$f4choice."', `feature5` = '".$f5choice."' WHERE `notification_table`.`username` = 'carl'";
mysql_query($kweri);
}
?>
</body>
</html>
问题
我现在的问题是,我必须刷新页面才能显示更新的复选框,因为这仅在 php 上完成,我根本没有 javascript 经验,但我认为这是在上显示我当前文本框的最佳方式实时,但是,我不知道从哪里开始,也不知道是否有其他方法可以实时显示我的复选框。
额外的问题(这与我的系统有关,但与此代码无关。如果你们能看看这个问题,那就意义重大。)
正如你们所看到的,上表只是为了跟踪用户对通知的偏好。但系统并不止于此,我需要弄清楚如何在使用某个功能后传递通知。我的想法是,我应该在每个功能之后添加一个额外的 sql 命令,以将发生的情况放在不同的表上。示例是注册,在保存注册详细信息的插入命令之后,我还会插入用户“示例”已在单独的表(即“notif_table”)中的“日期”“注册”。我的列将是用户名、操作和日期,以便我的通知页面可以显示“用户”已于“2015 年 1 月 18 日”“注册”。
但话又说回来,这只是我关于通知的理论,我非常愿意接受建议和更正。
最佳答案
只需将 if(isset($_POST['submit']))
部分放在 select 语句之前即可。
额外问题:
只需向现有表添加一列(例如“已创建”),并在插入行时将 now()
放入其中。
关于javascript - 我如何实时显示此复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28008960/