新聞中心
關于數據庫數據自動更改的程序編寫(網站程序是PHP+MYSQL)
如果擁有較高的服務器權限,可以開個定時器在服務器上執(zhí)行,但是如果是租用虛擬主機空間的話,可以用PHP模擬定時器功能。

站在用戶的角度思考問題,與客戶深入溝通,找到鹿邑網站設計與鹿邑網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站設計制作、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋鹿邑地區(qū)。
1、先給m添加一個上次更改的時間字段,比如change_at,數據類弄推薦int或者timespan,用int會比較好,因為可以用php的time()來取時間對比。
2、定義一個函數get_m(),每次要取m值的時候都通過這個函數取。在取值之前對m進行操作:
function get_m()
{
$now = time();
$change_at = get_change_at();//取得change_at的值,函數自己去寫。
$m = read_m();//取得數據庫內的真實數值
$time_span = $now - $change_at;
//沒有達到更新條件,直接返回;
if ($time_span 180)
return $m;
$m += floor($time_span / 180);
$change_at += (floor($time_span/180) * 180);
//將新的m和change_at寫入數據庫
save_m($m,$change_at);
return $m;
}
其中的幾個函數read_m(),get_change_at(),save_m()根據具體的數據庫結構寫功能,也可以不要用函數直接把數據庫操作代碼寫在那邊。
這樣就能保證每次程序取到的值和數據庫自動更改的情況下是一樣的。
如何實現PHP自動創(chuàng)建數據庫
你做好程序以后,把數據庫導出成sql文件
1、連接數據庫
2、讀取這個sql文件里的sql語句,并執(zhí)行
3、生成一個數據庫連接參數的php文件
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
if?(mysql_query("CREATE?DATABASE?my_db",$con))
{
echo?"Database?created";
}
else
{
echo?"Error?creating?database:?"?.?mysql_error();
}
mysql_close($con);
?
?php
class?ReadSql?{
//數據庫連接
protected?$connect?=?null;
//數據庫對象
protected?$db?=?null;
//sql文件
public?$sqlFile?=?"";
//sql語句集
public?$sqlArr?=?array();
public?function?__construct($host,?$user,?$pw,?$db_name)?{
$host?=?empty($host)???C("DB_HOST")?:?$host;
$user?=?empty($user)???C("DB_USER")?:?$user;
$pw?=?empty($pw)???C("DB_PWD")?:?$pw;
$db_name?=?empty($db_name)???C("DB_NAME")?:?$db_name;
//連接數據庫
$this-connect?=?mysql_connect($host,?$user,?$pw)?or?die("Could?not?connect:?"?.?mysql_error());
$this-db?=?mysql_select_db($db_name,?$this-connect)?or?die("Yon?can?not?select?the?table:"?.?mysql_error());
}
//導入sql文件
public?function?Import($url)?{
$this-sqlFile?=?file_get_contents($url);
if?(!$this-sqlFile)?{
exit("打開文件錯誤");
}?else?{
$this-GetSqlArr();
if?($this-Runsql())?{
return?true;
}
}
}
//獲取sql語句數組
public?function?GetSqlArr()?{
//去除注釋
$str?=?$this-sqlFile;
$str?=?preg_replace('/--.*/i',?'',?$str);
$str?=?preg_replace('/\/\*.*\*\/(\;)?/i',?'',?$str);
//去除空格?創(chuàng)建數組
$str?=?explode(";\n",?$str);
foreach?($str?as?$v)?{
$v?=?trim($v);
if?(empty($v))?{
continue;
}?else?{
$this-sqlArr[]?=?$v;
}
}
}
//執(zhí)行sql文件
public?function?RunSql()?{
foreach?($this-sqlArr?as?$k?=?$v)?{
if?(!mysql_query($v))?{
exit("sql語句錯誤:第"?.?$k?.?"行"?.?mysql_error());
}
}
return?true;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql?=?new?ReadSql("localhost",?"root",?"",?"log_db");
$rst?=?$sql-Import("./log_db.sql");
if?($rst)?{
echo?"Success!";
}
?
如何用php讓數據庫中某一個字段隨時間自動更新
你說的是數據庫有一個updatetime的字段吧,有兩種方法
1:
使用php,插入數據時帶一個time()的變量
2:
使用mysql自帶的:將字段設置成 timestamp 類型,輸入默認值 CURRENT_TIMESTAMP ,這是一個mysql函數,這樣就不自動將當前時間插入
PHP如何自動改變數據庫數據
PHP都是被動執(zhí)行的,不能主動運行。
你可以寫一個php的cli腳本,在linux下用crontable ,windows下是計劃與任務,
每隔1天定時執(zhí)行一下,完成檢查。
當前題目:php數據庫自動設置 php配置數據庫文件
網頁網址:http://www.dlmjj.cn/article/hipsoi.html


咨詢
建站咨詢
