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是增刪改功能。