mysql.php はデータベース内のレコードを取得します。これは参考目的として、個人的な経験の完全な要約です。
<?php
/**
※PHP+MYSQLデータベース基本機能
*http://blog.csdn.net/yown
*/
###########################################
#シーケンスIDの取得
###########################################
関数 getSequence() {
$sql = "更新シーケンスセット id=last_insert_id(id+1);";
$sql2= "select last_insert_id();";
グローバル $dbuser,$dbpass,$host,$database,$printsql;
$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
mysql_error() を返します。
mysql_select_db
($database);
mysql_query("SET NAMES UTF8");
if($printsql) echo "<hr/>".$sql."<hr/>";
mysql_query($sql);
if($printsql) echo "<hr/>".$sql2."<hr/>";
$result = mysql_query($sql2);
if(mysql_num_rows($result)==0){
mysql_close($link);
戻る "";
}
$myrow = mysql_fetch_row($result);
$ret=$myrow[0]
;
$ret を返します。
}
###########################################
#strSqlのN番目のレコードのN番目の列のデータを取得します。添字は1から始まります
###########################################
関数 getData($strsql,$row,$col) {
グローバル $dbuser,$dbpass,$host,$database,$printsql;
$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
mysql_error() を返します。
mysql_select_db
($database);
mysql_query("SET NAMES UTF8");
if($printsql) echo "<hr/>".$strsql."<hr/>";
$result = mysql_query($strsql);
if(mysql_num_rows($result)==0){
mysql_close($link);
戻る "";
}
$i=0;
while($myrow = mysql_fetch_row($result)){
if($i==$row-1){
$ret=$myrow[$col-1];
壊す;
}
$i=$i+1;
mysql_close
($link);
$ret を返す
}
#####################################
#strSqlのN番目のレコードを取得
###########################################
関数 getRowData($strsql,$row) {
グローバル $dbuser,$dbpass,$host,$database,$printsql;
$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
mysql_error() を返します。
mysql_select_db
($database);
mysql_query("SET NAMES UTF8");
if($printsql) echo "<hr/>".$strsql."<hr/>";
$result = mysql_query($strsql);
if(mysql_num_rows($result)==0){
mysql_close($link);
戻る "";
}
$i=0;
while($myrow = mysql_fetch_array($result)){
if($i==$row-1){
$ret=$myrow;
壊す;
}
$i=$i+1;
mysql_close
($link);
$ret を返す
}
#####################################
#strSql レコード セットを取得し、配列に格納します
###########################################
関数 getResultSetData($strsql) {
グローバル $dbuser,$dbpass,$host,$database,$printsql;
$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
mysql_error() を返します。
mysql_select_db
($database);
mysql_query("SET NAMES UTF8");
if($printsql) echo "<hr/>".$strsql."<hr/>";
$result = mysql_query($strsql);
if(mysql_num_rows($result)==0){
mysql_close($link);
戻る "";
while($myrow = mysql_fetch_array($result))
{
$ret[]=$myrow;
mysql_close
($link);
$ret を返します。
#####################################
#strSqlを実行する
###########################################
関数executeSql($strsql) {
グローバル $dbuser,$dbpass,$host,$database,$printsql;
$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
mysql_error() を返します。
mysql_select_db
($database);
mysql_query("SET NAMES UTF8");
if($printsql) echo "<hr/>".$strsql."<hr/>";
mysql_query($strsql);
$ret =mysql_affected_rows($link);
mysql_close($link);
$ret を返します。
}
/*
ページネーション
*/
function Pager(&$curpage,&$pagesize,&$tsql,&$psql,&$totalpage,&$totalrow,&$pagerset){
$curpage=isset($curpage)?intval($curpage):1;/ /現在のページ
$totalpage=0;//総ページ数
$totalrow=0;//レコードの総数
if($printsql) echo "<hr/>".$tsql."<hr/>";
if($curpage <= 0){
$curpage=1;
}
$totalrow=getData($tsql,1,1);//レコードの総数を取得します
$totalrow=strlen(totalrow)==0?0:$totalrow;
if($totalrow>0){
$totalpage=$totalrow%$pagesize==0?(int)($totalrow/$pagesize):(int)($totalrow/$pagesize)+1;
if($curpage>$totalpage){
$curpage=1;
}
$psql=$psql." 制限 ".(($curpage-1)*$pagesize).",".$pagesize;
if($printsql) echo "<hr/>".$psql."<hr/>";
$pagerset=getResultSetData($psql);//現在のページレコードを取得します
}
if($totalrow==0||$totalrow=="0"){ $curpage=1;}
}
?>
http://blog.csdn.net/yown/archive/2007/05/15/1610025.aspx