php部分---对数据的多条件查询,批量删除
1.给多条件查询,添加条件
<h1>新闻信息查看</h1>
<?php
$tiaojian1=" 1=1";
$tiaojian2=" 1=1";
$title=""; //为了下面foreach中能够取到这个变量,所以在外边定义一下。
$author="";
if(!empty($_POST['title']))
{
$title=$_POST['title'];
$tiaojian1=" title like '%{$title}%'";
}
/*else
{
echo "<script> alert('请输入');</script>"; //如果输入的是空,可以做一个弹窗进行提示
}*/ if(!empty($_POST['author']))
{
$author=$_POST['author'];
$tiaojian2=" author like '%{$author}%'";
} ?>
2.创建表单
<div><form action="" method="post">标题:<input type="text" name="title" value="<?php echo $title; ?>">
作者:<input type="text" name="author" value="<?php echo $author; ?>"> <!--输入关键字后文本框中,需要给文本框添加一个value值,value="<?php echo $title; ?>"-->
<input type="submit" value="查询"></form><form action="fabu.php">
<input type="submit" value="添加新闻">
</form>
</div>

3.创建显示区域
<form action="piliangshanchu.php" method="post">
<table width="95%" border="1" cellpadding="0" cellspacing="0" align="center">
<tr>
<td><input type="checkbox" onclick="quanxuan(this)">标题</td> <!--在标题栏添加一个复选框-->
<td>作者</td>
<td>来源</td>
<td>内容</td>
<td>发布时间</td>
<td>删除</td>
<td>修改</td>
</tr>
<?php $db=new MySQLi("localhost","root","123","test1");
mysqli_connect_error()?"连接失败":"";
$sql="select * from news where {$tiaojian1} and {$tiaojian2}";
echo $sql; //输出语句看看结果
$result=$db->query($sql);
$attr=$result->fetch_all();
foreach($attr as $v)
{
/*$str=str_replace($title,"<mark>{$title}</mark>",$v[1]); //str_replace进行替换,添加mark标签,对关键字进行特殊显示*/
$str=str_replace($title,"<span style='color:red;'>{$title}</span>",$v[1]); //还可以通过添加<span>标签,改span的color
echo "<tr><td><input type='checkbox' value='{$v[0]}' name='sc[]' class='xuanzhong'/>{$str}</td><td>{$v[2]}</td><td>{$v[3]}</td><td>{$v[4]}</td><td>{$v[5]}</td><td><a href='shanchu.php?ids={$v[0]}' onclick=\"return confirm('确认删除嘛')\">删除</a></td><td><a href='xiugai.php?ids={$v[0]}'>修改</a></td></tr>"; //重点:进行复选框多选时候,name的值要用sc[]数组接收
} ?>
</table>
<div><input type="submit" value="批量删除"></div>
</form>

4.通过标题栏的复选框状态,对下面的复选框进行多选,用js
<script type="text/javascript">
function quanxuan(a)
{
var ck=document.getElementsByClassName("xuanzhong");
for(var i=0;i<ck.length;i++)
{
if(a.checked) //判断a的选中状态
{
ck[i].setAttribute("checked","checked");//设置添加属性
}
else
{
ck[i].removeAttribute("checked");//移除属性
}
} } </script>
5.批量删除的处理界面
<?php
if(!empty($_POST['sc'])) //通过上面复选框的选中值,进行提取,提取出来是数组的形式
{
$attr=$_POST['sc']; //放到一个数组中
$db=new MySQLi("localhost","root","123","test1");
mysqli_connect_error()?"连接失败":"";
/*foreach($attr as $v)
{
$sql="delete from news where ids='{$v}'";
if($result=$db->query($sql))
{
header("location:main.php");
}
else
{
echo "删除失败";
}
}*/
$atr=implode("','",$attr); //通过implode函数,把数组合并成一个字符串,为下面的sql语句形成条件语句 条件语句in('','','','')这样的形式
$sql="delete from news where ids in('{$atr}')";
if($result=$db->query($sql))
{
header("location:main.php");
}
else
{
echo "删除失败";
} }
php部分---对数据的多条件查询,批量删除的更多相关文章
- mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】
1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not n ...
- 根据子查询批量删除的sql语句
delete zi_provider_sa a where a.scheme_id in (select t.Id from zi_provider_scheme t where t.prov_id ...
- 第六部分 数据搜索之使用HBASE的API实现条件查询
题目 使用HADOOP的MAPReduce,实现以下功能: (1)基于大数据计算技术的条件查询:使用mapreduce框架,实现类似Hbase六个字段查询的功能 (2)时段流量统计:以hh:mm:ss ...
- 基于Solr的HBase多条件查询测试
背景: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询.HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级 的快 速检索,对于多字段的组合查询却无能为力.针对HBa ...
- sql server中的大数据的批量操作(批量插入,批量删除)
首先我们建立一个测试用员工表 ---创建一个测试的员工表--- create table Employee( EmployeeNo int primary key, --员工编号 EmployeeNa ...
- 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- C# winform窗体设计-通过条件查询数据
在winform 数据库设计中,有时候需要通过条件查询对应的数据,并且将数据显示在文本框(or 富文本框)中,下面,小编将讲述通过一个条件: 首先,我们需要对数据库建立连接,并且执行数据库命令,在此之 ...
- Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据
Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...
- (转)Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
随机推荐
- validator
http://rickharrison.github.io/validate.js/validate.js rules: 'required|callback_check_password' vali ...
- C- struct的使用
数组是二等公民,不能进行整体赋值,或者参数传递,或者作为返回值. But!如果封装在struct内部,就完全不一样了 #include <iostream> using namespace ...
- #数据结构-fib
/////////////////////////////////////////////////////////////////////////////// // // FileName : fic ...
- 获取Android系统的版本号
int currentVersion = android.os.Build.VERSION.SDK_INT;
- CPU是怎么制造的
大概的过程就是,先选一堆好沙子(纯净的沙子),初步加工一般在沿海,然而都是初加工,因为技术不行,所以一般用比较污染环境的方法加工大99.9%纯度的硅,然后低价卖给国外企业,用高精尖技术加工到99.99 ...
- Javascript基础--类与对象(五)
js面向(基于)对象编程1.澄清概念 1.1 js中基于对象 == js 面向对象 1.2 js中没有类class,但是它取了一个新的名字,交原型对象,因此 类 = 原型对象. 2.为什么需要对象? ...
- AutoReleasePool 和 ARC 以及Garbage Collection
AutoReleasePool autoreleasepool并不是总是被auto 创建,然后自动维护应用创建的对象. 自动创建的情况如下: 1. 使用NSThread的detachNewThread ...
- 主线程中一定不能放耗时操作,必须要开子线程,比如下载文件,不然会不让你拿到输入流--报错显示android.os.NetworkOnMainThreadException
1.必须要开子线程来操作耗时操作,android.os.NetworkOnMainThreadException new Thread(new Runnable() { @Override publi ...
- HDU 1045 - Fire Net (最大独立集)
题意:给你一个正方形棋盘.每个棋子可以直线攻击,除非隔着石头.现在要求所有棋子都不互相攻击,问最多可以放多少个棋子. 这个题可以用搜索来做.每个棋子考虑放与不放两种情况,然后再判断是否能互相攻击来剪枝 ...
- mysql 为某一数据库下所有表中添加相同字段
BEGIN DECLARE s_tablename VARCHAR(100); /*显示表的数据库中的所有表 SELECT table_name FROM information_schema.t ...