你这个不应该问"php可以做到吗?",而该问"数据库能做到吗?"
成都创新互联公司于2013年成立,先为三元等服务建站,三元等地企业,进行企业商务咨询服务。为三元企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
用管理员登录重置或者用户登录时判断日期后用php操作数据库重置.如果想通过php,不需要任何登录执行的话,那考虑的是怎么在不登录情况下把日期传过去.最终还是php操作,不是数据库自动进行.综上,php不能做到.
错误信息说你的参数 $qa_id_array 不是数组类型,可能SQL查询结果为空或者遇到了错误,你可以在9行前面增加下面的调试语句看看结果:
echo 'pre';
print_r( $qa_id_array );
echo '/pre';
补充:
我把程序全部给你修改了可以不,你那些变量命名我不习惯。
而且你$qa_id = array_values($qa_id_array);之后就当$qa_id作为字符串使用是错误的。
修改后的程序如下:
?php
include ("./mysqlconn.php");
mysql_connect($mysqlserver,$mysqluser,$mysqlpassword)
or die("Could not connect: " . mysql_error());
mysql_select_db('pmwebsys');
$sql = "SELECT * FROM col_qarecord";
if ($res=mysql_query($sql)){
$row = mysql_fetch_array($res);
$qa_id = join(',', $row);
$sql="UPDATE col_qarecord SET qa_id = '$qa_id'";
if (mysql_query($sql)) echo '修改成功';
else echo "SQL:$sqlbr\n错误:".mysql_error();
}else echo "SQL:$sqlbr\n错误:".mysql_error();
?
补充:
join错误是因为select语句没有返回结果,你的col_qarecord表可能是空的吧,一条记录也没有。
补充:
数据库记录都清空了,你还select个什么呢?!还update个什么呢?!
MYSQL的索引是在数据库任何修改的时候(删除、修改、添加)自动重建的,你如果是需要修改自动编码字段的值,请在phpmyadmin里面直接修改即可,我们这两天调试的这个破程序没有任何效果,除了浪费时间以外。
补充:
Data truncated for column 'qa_id' at row 1表示你UPDATE给字段qa_id的内容超过了字段定义的长度。
补充:
int只能存放一个整数,你粘贴输出的SQL就知道了。
补充:
我感觉你都明白了的,你知道你还有什么问题,能够明确的提个为什么吗
input type="reset" value="清空" /
不需要加onclick事件,他会自动将所在表单(form)的内容重置的!
就和type="submit" 不需要Onclick事件来提交一样!
ALTER TABLE tablename AUTO_INCREMENT=1;
这里有一个地方要注意,设置的这个值不能小于当前已存在记录的id,比如你存在一条id为20的数据,那么你设置19,是不会生效的。所以你如果要重新开始计数,那就要将表里的数据全部删除。
你是要取字段值呢?还是最后一个id值,不明白select * from table order by id desc limit 1
echo mysql_insert_id(); //获取最后一条新插入的id值
$id=$_GET['id']; $id 是一个变量吧! 变量获得什么值,就对应删除那条数据。和数据库的ID自增没关系的。