职场小白----PHP(TP)-----CURD----小感(三)

大思路:查询->添加->修改->删除

首先查询:1.做一个html表单,action写要将表单数据递交到的控制器中,post方法;

     2.首先实例化要查询的数据表,例子:$attr = M('studeng');

       查询数据并传入到前台:

      $attr = $b->select();//查询

      $this->assign("shuju", $attr);传到前台

     3.遍历数据库中的信息,并显示在查询界面上。     <foreach name="shuju" item="v">

       <tr>
  <td>{pigcms:$v[id]}</td> //想想为什么这么写
  <td>{pigcms:$v[name]}</td>
  <td>{pigcms:$v[number]}</td>
  <td>{pigcms:$v[grade]}</td>
  <td>{pigcms:$v[appraise]}</td>
   <td><a href="{pigcms::U('Function/delete',array('id'=>$v[id]))}" onclick="return confirm('确认要删除?')">删除</a ></tr>
添加数据:1.要添加数据,当然要有按钮:<td><input type="button" name="button" onclick="add()" value="添加数据"></td> //js实现新开一个网页添加数据
     2.
html文件,写几个inpput用于要添加到数据库的信息,post方法提交,action用下一步的function
  
   3.新建一个function,用于上传表单信息,(下代码有添加了输入验证的功能)

    //添加数据,获取表单传递过来的字符串
      $b = M('student');
$s = ($_POST['number']);
$n = ($_POST['name']);
$g = ($_POST['grade']);
$p = ($_POST['appraise']);
//$id = ($_POST['id']);
dump($n);
dump($s);
dump($g);
dump($p);
echo "<br>";
//查询student表中number一列的数据
$attr1 = $b->field("number")->select();
//dump($attr1);
//dump($s);
//遍历number一列数据
foreach ($attr1 as $value) {
$same = false;
//dump($value);
//if($s[0]==$value['number']){
if ($s == $value['number']) {
//有相同数据的等于1,并跳出foreach遍历
$same = 1;
break;
}
//dump($same);
}
// exit(); 结束后面代码
//$p = ($_POST['appraise']);
//验证学号
/*$attr1 = $str->where("number=".$s)->select();
dump($attr1);*/
   //若same等于1表示输入number有重复
if ($same != 1) {
//正则表达式,2位以上的纯数字
if (preg_match("/^[0-9]{2,}$/", $s)) {
//一到三位的纯数字
if ((preg_match("/^[0-9]{1,3}$/", $g))) {
//$b->find($num);
//分别将表单提交过来的数据依据列名提交到数据库
$b->name = $n;
$b->number = $s;
$b->grade = $g;
$b->appraise = $p;
$b->add();
$this->redirect('User/Function/student');
} else {
$this->error("输入成绩有误,请检查!");
}
} else {
$this->error("输入学号有误,请检查!");
}
}else
{
$this->error("输学生学号重复,请检查!");
}
3.修改数据:同理,按钮,注意:因要修改,必须要知道要修改的内容的id,即唯一性(你要修改哪一条内容)
posted @ 2017-09-06 18:51  燃烧的果冻  阅读(87)  评论(0)    收藏  举报