1. 请教php代码通过表单输入月份SQL查询的代码
首先你要明白,最后查询的语句肯定是一样的,一样的查询自然会得到一样的结果,至于你想只输入年和月就查询到结果,则只是将工作转移到程序上去处理而已;你想实现的效果代码处理如下:
$y=$_POST['year'],$m=$_POST['month'];
$t1=strtotime($y.'-'.$m.'-1 0:0:0');
$t1=strtotime($y.'-'.$m.'-31 23:59:59');
$sqltime=" actime >".$t1." and actime <".$t2);
......
2. PHP 表单 提交数据到mysql
PHP 提交表单,然后保存数据库示例:
1.sql脚本:
createdatabasecompany;
usecompany;
createtableemployee(
idint(11)notnullprimarykeyauto_increment,
emp_namevarchar(20)notnull,
emp_novarchar(30)notnull,
emp_jobvarchar(50)
);
2.index.php代码:
<?php
header("Content-type:text/html;charset=utf-8;");
//判断是否提交表单
if(isset($_POST['btn'])){
//连接数据库
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("数据库连接错误!".mysql_error());
}
mysql_select_db("company");
mysql_query("setnamesutf8");
//获取表单提交元素
$emp_name=$_POST['emp_name'];
$emp_no=$_POST['emp_no'];
$emp_job=$_POST['emp_job'];
//验证表单元素,然后入库操作
if($emp_name&&$emp_no&&$emp_job){
$sql="insertintoemployee
(emp_name,emp_no,emp_job)
values
('{$emp_name}','{$emp_no}','{$emp_job}')
";
$int=mysql_query($sql);
$suc_msg="<fontcolor='green'>数据插入成功!</font><ahref='javascript:history.go(-1);'>返回</a>";
$err_msg="数据插入失败";
exit($int?$suc_msg:$err_msg);
}else{
exit("提交数据全部为必填项!");
}
}
?>
<html>
<head>
<title>PHP表单提交示例</title>
<metahttp-equiv="content-type"content="text/html;charset=utf-8"/>
</head>
<body>
<formid="myform"action="<?phpecho$_SERVER['PHP_SELF']?>"method="post">
员工姓名:<inputname="emp_name"type="text"/><br/>
工号:<inputname="emp_no"type="text"/><br/>
工作职责:<inputname="emp_job"type="text"/><br/>
<inputname="btn"type="submit"value="提交表单"/><br/>
</form>
</body>
</html>
3.运行效果:
3. php中sql语句好像没有效果,求助
你的代码逻辑有问题.
在表单submit事件里设置window.event.returnValue=false阻止了表单提交事件(IE浏览器下)
表单提交事件里直接把填写的用户名写入cookie了,这跟后端就没关系了
以上两步执行过后,就跳转到了登录后页面.html,服务器端根本没接收到表单提交
所以你的代码主要是前端问题。
1.一般在表单提交事件里做填写验证,比如用户名以及密码有没有填写,格式或长度对不对,有问题则显示提示信息并阻止表单提交。
2.如果表单检查没问题,有两种处理方法,一种是放行表单提交(在事件中return true以及window.event.returnValue=true),另一种是继续阻止表单提交,然后代码获取表单的数据,使用ajax提交页面,同事设置提交按钮状态为禁用,等获取到返回结果后根据返回的信息再作显示或跳转处理。
3.前端代码,如果没有经验,可以直接用jquery或其它封装好的框架做事件处理,这样可以兼容到常用的浏览器。
以下手打一部分前端处理代码的逻辑
<script>
functioncheckForm(form){
if(!form.username.value){
alert('请填写用户名');
returnfalse;
}
//...其它验证
//验证通过
returntrue;
//第二种处理方法,需要引入jquery
$.ajax({
url:$(form).attr('action'),
type:$(form).attr('method'),
data:$(form).serialize(),
dataType:'JSON',//异步操作一般用json做数据交互
success:function(json){
alert(json.message);
location.href=json.url;//在服务器端处理时根据处理结果返回要跳转的页面
}
})
}
</script>
<!--form的action表示接收表单数据的页面-->
<!--onsubmit事件中使用return可以把处理结果直接提交给事件,返回false则阻止事件,其它情况不阻止事件-->
<formname="userform"action="submit.php"method="post"onsubmit="returncheckForm(this)">
<!--中间的代码就不打了-->
</form>
4. PHP表单提交不同数据到数据库的不同表的不同字段怎么实现
你可以用 PHP 的 MySQLi 或 PDO 库来实现。
首先,你需要使用这些库中的函数连接数据库,然后把表单中的字段值插入到相应的数据表中。
例如,如果你使用 MySQLi,你可以这样写:
$conn = mysqli_connect("hostname", "username", "password", "database_name");
$rwid = $_POST['rwid'];
$rwdj = $_POST['rwdj'];
$rwzb = $_POST['rwzb'];
$sql1 = "INSERT INTO table_a (s) VALUES ('$rwid')";
mysqli_query($conn, $sql1);
$sql2 = "INSERT INTO table_b (d) VALUES ('$rwdj')";
mysqli_query($conn, $sql2);
$sql3 = "INSERT INTO table_c (f) VALUES ('$rwzb')";
mysqli_query($conn, $sql3);
如果你使用 PDO,你可以这样写:
$conn = new PDO("mysql:host=hostname;dbname=database_name", "username", "password");
$rwid = $_POST['rwid'];
$rwdj = $_POST['rwdj'];
$rwzb = $_POST['rwzb'];
$stmt1 = $conn->prepare("INSERT INTO table_a (s) VALUES (:s)");
$stmt1->bindParam(':s', $rwid);
$stmt1->execute();
$stmt2 = $conn->prepare("INSERT INTO table_b (d) VALUES (:d)");
$stmt2->bindParam(':d', $rwdj);
$stmt2->execute();
$stmt3 = $conn->prepare("INSERT INTO table_c (f) VALUES (:f)");
$stmt3->bindParam(':f', $rwzb);
$stmt3->execute();
希望这个答案对你有帮助。
5. PHP执行SQL查询怎么做
$haha = M(),$res = $haha->query($sql)。
或 $res = $waw->execute($sql)。
$sql中包含了表名,实例化模型时可以为空。注意query是查功能,execute是增删改功能。