- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用jqGrid制作一张考勤表。我正在使用 PHP 和 Mysql
我有两张表,一张名为 MemberInfo,一张名为 attendance。
从 MemberInfo 中,我想在网格中显示成员的名字和姓氏。然后我想一周中的每一天都有一个盒子。我希望当我向这些字段添加一些数据时,数据将保存在出勤表中,并且如果我再次生成出勤网格,已填充的字段将显示数据。
我的问题是:如何添加更多列以及如何将这些列与出勤表连接?谢谢!
编辑:
我能够使用 cellEdit 生成新列并将数据添加到数据库中。使用 2 个表中的数据生成网格时仍然存在问题。谢谢!
我希望这是清楚的!如果不是请告诉我!谢谢!
(如果有另一个 PHP 库可以让这变得更容易,请告诉我)编辑:
<?php
require_once 'jqgrid/jq-config.php';
// include the jqGrid Class
require_once "jqgrid/php/jqGrid.php";
// include the driver class
require_once "jqgrid/php/jqGridPdo.php";
// Connection to the server
$conn = new PDO("mysql:host=localhost;dbname=db;","root",NULL);
// Tell the db that we use utf-8
$conn->query("SET NAMES utf8");
// Create the jqGrid instance
$grid = new jqGridRender($conn);
// Write the SQL Query
$grid->SelectCommand = 'SELECT member_id, first_name, last_name FROM members_info WHERE member_type !=5';
// set the ouput format to json
$grid->dataType = 'json';
$grid->table ="members_info";
$grid->setPrimaryKeyId("member_id");
// Let the grid create the model
$grid->setColModel();
// Set the url from where we obtain the data
$grid->setUrl('grid.php');
$grid->cacheCount = true;
// Set grid caption using the option caption
$today = date('Y-m-d');
if(isset($_POST['past_month'])){
$today = date('Y-m-d', strtotime($_POST['past_month']));
}
if(isset($_POST['next_month'])){
$today = date('Y-m-d', strtotime($_POST['next_month']));
}
$days = attendance_cal(date('F', strtotime($today)), date('Y', strtotime($today))); // Gets the days for that month and that year
sort($days); //sort the days
foreach($days as $day){
$grid->addCol(array(
"name"=>date('m-d', $day)
));
}
$grid->setGridOptions(array(
"caption"=>"This is custom Caption",
"rowNum"=>30000,
"sortname"=>"member_id",
"hoverrows"=>true,
"width"=>1000,
"height"=>1000,
"cellEdit"=> true,
"cellsubmit"=>"remote",
"cellurl"=> "cell_dump.php",
"rowList"=>array(10,20,50),
"postData"=>array("grid_recs"=>776)
));
// Change some property of the field(s)
$grid->setColProperty("member_id", array("label"=>"ID", "width"=>60, "editable"=>false));
$grid->setColProperty("first_name", array("label"=>"First Name", "width"=>120, "editable"=>false));
$grid->setColProperty("last_name", array("label"=>"Last Name", "width"=>120, "editable"=>false));
// Enjoy
$grid->navigator = false;
// and finaly bind key navigation
// This is way if no events or parameter
//$grid->callGridMethod('#grid', 'bindKeys');
//
//in case of passing events is better this way
$bindkeys =<<<KEYS
$("#grid").jqGrid('bindKeys', {"onEnter":function( rowid ) { alert("You enter a row with id:"+rowid)} } );
KEYS;
$grid->setJSCode($bindkeys);
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;
?>
让我更具体地说:
我的表“Members”包含字段“member_id”、“first_name”、“last_name”
“出勤”表包含字段“attendance_id”、“member_id”、“attendance_date”、“attendance_value”
我的网格,我希望它看起来像:
|成员(member)编号 |名称 | 2012 年 3 月 15 日 | 2012 年 3 月 20 日 | 2012 年 3 月 22 日 |
“Member Id”列和“Name”列是使用 SelectCommand 从“Members”表生成的,其他列是使用 addCol 创建的。我有点可以弄清楚如何通过 cellEdit 将数据添加到数据库,但是当我加载工作表时,除了来自 Members 表的数据之外,我不知道如何将数据库中的数据放入网格中。我希望这更清楚!谢谢!
最佳答案
我假设您从未使用过 jqGrid 并且您需要开始使用...
请查看此链接,它为您提供了演示,其中包含有关如何使用 PHP 创建网格所需了解的所有代码。
关于php - 使用 jqGrid 制作考勤表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728428/
我的数据库中有 3 个表: 学生 类(class) 出席 前 2 个表有 2 个字段(id、名称),第三个表有:corseID、studID、attDate 和 attStatus,其中 attSta
我是一名优秀的程序员,十分优秀!