我将如何实时显示此复选框?
How would I show this checkbox on realtime?
我目前正在学习 html 和 php,我做了这个关于 "notification system" 的小项目。我想我必须先解释一下,然后再详细说明我的实际问题。
我的 table 看起来像这样:
我的第一个 php 命令将获取每个特征列的值并将它们存储到 $a、$b、$c、$d 和 $e 中。
我的第二个 php 命令会回显 5 个文本框并根据 $a、$b、$c、$d 和 $e 的值将它们标记为已选中,因此输出基于在我的 table 上会显示五个复选框,其中第一个、第二个和第四个复选框带有勾选。
我的第三个 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 的经验,但我认为这是实时显示当前文本框的最佳方式,但是,我不知道从哪里开始,或者是否有其他方法可以实时显示我的复选框。
额外问题(这与我的系统有关,但与此代码无关。如果你们能看一下这个问题,那将意义重大。)
如你们所见,上面的 table 只是为了跟踪用户对通知的偏好。但系统并不止于此,我需要弄清楚如何在使用某个功能后传递通知。我的想法是,我应该在每个功能之后添加一个额外的 sql 命令,以将发生的事情放在不同的 table 上。示例是注册,在保存注册详细信息的插入命令之后,我还会插入,用户 "example" 在单独的 table 上的 "date" 上有 "registered",即"notif_table"。我的列将是用户名、操作和日期,因此我的通知页面可以显示 "User" 在 "January 18, 2015" 上有 "Registered"。
但话又说回来,这只是我对通知的理论,我非常愿意接受建议和更正。
只需将带有 if(isset($_POST['submit']))
的部分放在 select 语句之前。
额外问题:
只需在现有 table 中添加一列(例如 'created'),然后在插入行时将 now()
放入其中。
我目前正在学习 html 和 php,我做了这个关于 "notification system" 的小项目。我想我必须先解释一下,然后再详细说明我的实际问题。
我的 table 看起来像这样:
我的第一个 php 命令将获取每个特征列的值并将它们存储到 $a、$b、$c、$d 和 $e 中。
我的第二个 php 命令会回显 5 个文本框并根据 $a、$b、$c、$d 和 $e 的值将它们标记为已选中,因此输出基于在我的 table 上会显示五个复选框,其中第一个、第二个和第四个复选框带有勾选。
我的第三个 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 的经验,但我认为这是实时显示当前文本框的最佳方式,但是,我不知道从哪里开始,或者是否有其他方法可以实时显示我的复选框。
额外问题(这与我的系统有关,但与此代码无关。如果你们能看一下这个问题,那将意义重大。)
如你们所见,上面的 table 只是为了跟踪用户对通知的偏好。但系统并不止于此,我需要弄清楚如何在使用某个功能后传递通知。我的想法是,我应该在每个功能之后添加一个额外的 sql 命令,以将发生的事情放在不同的 table 上。示例是注册,在保存注册详细信息的插入命令之后,我还会插入,用户 "example" 在单独的 table 上的 "date" 上有 "registered",即"notif_table"。我的列将是用户名、操作和日期,因此我的通知页面可以显示 "User" 在 "January 18, 2015" 上有 "Registered"。
但话又说回来,这只是我对通知的理论,我非常愿意接受建议和更正。
只需将带有 if(isset($_POST['submit']))
的部分放在 select 语句之前。
额外问题:
只需在现有 table 中添加一列(例如 'created'),然后在插入行时将 now()
放入其中。