使用php,mysql和javascript参加考勤

时间:2011-11-03 03:28:08

标签: php javascript mysql html

我需要做的就是让页面旁边有一个名称和复选框列表。单击底部的提交按钮后,我需要遍历页面并找到每个被检查的页面。有了这些信息,我必须在今天的日期中插入这些名称,并在mysql的表中插入1。

问题是让按钮onclick执行一些PHP来更新表。我相信有一种方法可以将一些信息发布到php文件中,这样如果我可以获得所有已检查人员的数组并将其传递给php文件,那么它将执行mysql查询,这将是很好的。

我环顾四周,每个人都提出了一件事或另一件事,但没有人给出任何形式的例子,甚至是对需要做什么的体面描述。

我已经打印出了名字和复选框,但我需要一些提交出席的方式。

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

除非您需要JavaScript在用户与页面交互时更新其他表单元素,否则您只能在PHP中执行此操作。所以你可以忘掉onclick事件。您需要做的是链接到表单操作中的.php文件。所以<form action="some_php_file.php" method="post">。现在在some_php_file.php文件中,您将从表单中获取$ _POST信息并构建一个数组。因此,如果您的复选框看起来像<input type="checkbox" name="name1" value="Some Value" />,那么您将通过检查!empty($_POST['name1'])来构建数组。如果它不为空,则用户选中该复选框。现在您的阵列中包含所有选中的复选框,您可以将其与其他信息一起插入带有MySQL的数据库中。

答案 1 :(得分:1)

您是否尝试过使用表单?我认为这正是你要找的。

答案 2 :(得分:1)

在页面上创建一个包含所有复选框的表单:

<form action='this_page.php' method='post'>
  David Smith <input type='checkbox' name='student[davidsmith]' value='1' />
  Suzy Cutie <input type='checkbox' name='student[suziecutie]' value='1' />
  Tom Geralds <input type='checkbox' name='student[tomgeralds]' value='1' />
  <input type='submit' value='Submit' name='submit_button' />
</form>

您的PHP代码位于同一文件的标题中,或位于单独的(包含的)文件中,如下所示:

<?php

  if(!isset($_POST['submit_button'])){
   //form has not been submitted
   return;
  }

  //form HAS been submitted
  $student_array = $_POST['student'];
  foreach($student_array as $name=>$val){
    //$val needs to be 0 or 1.
    $val = ($val == "1")?1:0;
    mysql_query("INSERT INTO attendance VALUES('$name',CURDATE(),$val)");
  }
?>

显然,请确保您的复选框数与数据库匹配。 最完整/正确的方法是根据数据库中的值动态创建复选框。您应该有一个“学生”表,其中包含其名称和主键(唯一标识符)。

答案 3 :(得分:1)

其他答案也是很好的答案,但这是我的不同方法。

你说你已经放了名字和复选框。好。现在在页面上放置一个按钮,无论你想要什么。然后将其与click事件相关联。如果您在此处使用Jquery,则可以轻松获取具有相应名称的复选框的值。获取有关复选框的所有信息,将它们放在javascript中的数组中,然后将它们发布到php文件中。如果你愿意,你可以使用JQuery的$ .post方法。如果你愿意,我可以提供可靠的代码示例。