扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、新建一个edit.php
创新互联建站是专业的肥西网站建设公司,肥西接单;提供网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行肥西网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
2、在edit.php里调用要修改的记录,如果不会再问。
3、将调用的记录数据填充到 edit.php的form里去。
4、将form的action改为action="edit_save.php"
5、把?php
$con=mysql_connect("localhost","root","");
if(!$con)
{
die('Coudl not connet:'.mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE Persons SET Firstname='".$_POST["firstname"]."',
Lastname='".$_POST["lastname"]."',Password='".$_POST["password"]."',Age='".$_POST["age"]."'");
mysql_close($con);
echo "scriptwindow.location.href='1.php';/script ";
?保存为edit_save.php
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
将数据库的数据查询到嵌入在PHP中的EXCEL里面.实现多条纪录的修改.
数据库里面有几万条数据,每天要修改几百条,一条一条修改很麻烦,怎样能够,实现上面说的这种功能,然后可以批量修改.
解析:
可以选择一些相关的,然后统一批量改
SQL Server 中直接可以把excel文件加载进来当作表处理。
使用Sql脚本怎么处理都可以了。
其他数据库,那还有写处理excel的代码
你的数据在EXCEL里面,需要用PHP程序去修改它,因为你的机器上有WEB,你希望远程操作,对吗?
其实不难,你在ODBC里面建立一个数据源,指向你的EXCEL文件,PHP写程序用SQL操作ODBC数据源是很简单的,例子:
?PHP
$id=odbc_connect("ODBC数据源名称","用户名","密码");
if ($id!=0){
$max_display_rec=500;
$query_str="任意的SQL语句";
$qu=odbc_exec($id,$query_str);
if ($qu) echo "执行 $query_str 成功!";
else echo "执行 $query_str 失败!";
} else echo '数据库连接失败!
觉得你可以做这样一个界面:
一个列表,每行前有一个复选框,让用户选中要修改的记录
点击提交后,将用户所选的内容以文本框的形势显示,如一页不够,可分页。
当用户修改结束后,统一保存
表单页面:
form action="login.php" method="post"
用户名:input type="text" name="user" /br/
密 码:input type="password" name="pass" /br/
button type="submit"登录/button
/form
登录处理页面login.php
?php
mysql_connect(数据库服务器,数据库登录用户名,数据库密码);//建立临时数据库连接
mysql_select_db(数据库名称);
$user=$_POST['user'];//取得表单输入的用户名
$pass=$_POST['pass'];//取得表单输入的密码
$sql="select * from 数据表名称 where user='$user'";//构造Sql查询语句
if(!mysql_query($sql)){//如果执行Sql语句不成功
exit( '用户名错误');
}
$sql="select * from 数据表名称 where user='$user' and pass='$pass'";//构造Sql查询语句
if(!mysql_query($sql)){//如果执行Sql语句不成功
exit( '密码错误');
}
//这里写登录成功的逻辑代码//
?
随便写了一下,没测试。不见得一定能成功!
但格式语法差不多就是这样,我只是想给你一个样式而已!
具体你还要自己多多学习!
一、PHP操作MySql数据库
新增数据
?php
$query
=
"INSERT
INTO
grade
(name,email,point,regdate)
VALUE
('
李三','yc60.com@gmail.com',,NOW())"
;
@mysql_query($query)
or
die(
'添加数据出错:'
.mysql_error());
?
修改数据
?php
$query
=
"UPDATE
grade
SET
name='小可爱'
WHERE
id=6"
;
@mysql_query($query)
or
die(
'修改出错:'
.mysql_error());
?
删除数据
?php
$query
=
"DELETE
FROM
grade
WHERE
id=6";
@mysql_query($query)
or
die(
'删除错误:'
.mysql_error());
?
显示数据
?php
$query
=
"SELECT
id,name,email,point
FROM
grade";
$result
=
@mysql_query($query)
or
die(
'查询语句出错:'
.mysql_error());
while
(!!
$row
=
mysql_fetch_array($result))
{
echo
$row[
'id'
].
'----'
.$row['name'
].'----'
.$row
['email'
].
'----'
.$row['point'
];
echo
'br
/
';
}
?
二、其他常用函数
mysql_f
etch_row()
:从结果集中取得一行作为枚举数组
mysql_f
etch_assoc()
:
从结果集中取得一行作为关联数组
mysql_f
etch_array()
:
从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_f
etch_lengths
()
:
取得结果集中每个输出的长度
mysql_f
ield_name():
取得结果中指定字段的字段名
mysql_num_rows():
取得结果集中行的数目
mysql_num_f
ields():取得结果集中字段的数目
mysql_get_client_inf
o()
:
取得
MySQL
客户端信息
mysql_get_host_info():
取得
MySQL
主机信息
mysql_get_proto_info():
取得
MySQL
协议信息
mysql_get_server_inf
o()
:
取得
MySQL
服务器信息
举例如下:
创建userinfo_update.php页面用于查询用户信息,先显示信息,在修改:
先通过GET获取用户编号查询用户信息:
$sql = "select * from user_info where user_id='".$_GET['userId']."'";
$result = mysql_query($sql,$con);
if($row = mysql_fetch_array($result)){
}
页面效果:
创建update.php文件,用于修改用户信息:
使用到了mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。
//通过post获取页面提交数据信息
$userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";
mysql_query($sql,$conn);//执行SQL
$mark = mysql_affected_rows();//返回影响行数
$url = "userinf_select.php";
运行结果
创建delete.php文件,完成删除用户信息功能:
$userId = $_GET['userId'];
include 'connection.php';
$sql = "delete from user_info where user_id='".$userId."'";
mysql_query($sql,$con);
$mark = mysql_affected_rows();//返回影响行数
if($mark0){
echo "删除成功";
}else{
echo "删除失败";
}
mysql_close($con);
运行结果:
这个说起来长篇,你所问的$updateSQL = $db-GetUpdateSQL其实并不是属于php自己的东西,而是用户自定义的类,至于类是什么去看看基础的php语言基础.
所以你要知道GetUpdateSQL返回的究竟是什么东西,他是怎么工作的,就要找到类的本身代码所在文件,去看看他里面究竟是什么东西.
而php修改数据库里的东西其实是没有专用语句的.如果硬要问怎么实现的话,就是那个$db-Execute($updateSQL);
所以建议你把$updateSQL print(或echo)出屏幕看看里面是什么就明白了.
其实是个SQL的操作语句,指示SQL如何存储数据,而$db-Execute只让php把这个命令传给SQL
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流