10/10/2018, 11:01
Help module viết bằng class trong php !
Chào mọi người em đang làm đồ án của lớp ! thấy giáo bắt lập trình hướng đối tượng em đang gặp vấn đề viết class cho phần "tin tức" mọi người cho em xin một module viết bằng class em cảm ơn rất nhiều !
Bài liên quan
Em chưa hiểu là kết nối dữ liêu để trong class hay tác ra riêng nếu để trong class thì các viết như thế nào !
Class Mysql
{
var $link_id;
var $result = array();
public function connect($db_host, $db_username, $db_password, $db_name)
{
$this->link_id = mysql_pconnect($db_host, $db_username, $db_password);
if ($this->link_id)
{
if (mysql_select_db($db_name, $this->link_id)) {
return $this->link_id;
} else {
$this->show_error('<b>Lỗi MYSQL:</b> ','Không thể kết nối CSDL: '.mysql_error());
}
}
else $this->show_error('<b>Lỗi MYSQL:</b> ','Không thể truy vấn CSDL: '.mysql_error());
}
//tạo query dữ liệu
public function query($input)
{
$query=mysql_query($input) or $this->show_error("<b>Lỗi MySQL Query</b> : ",mysql_error());
$this->result***91;***93; = $query;
return $query;
}
//giải phóng resource
public function free_result($query)
{
if ( is_resource($query) )
{
mysql_free_result($query) or $this->show_error("<b>Lỗi Result MySQL</b> : ",mysql_error());
}
}
public function get_column($table,$sql,$column)
{
$q = $this->query("SELECT * FROM $table $sql");
$r = $this->fetch_assoc($q);
return $r***91;$column***93;;
}
//fetch_array 1 table
public function fetch_array($query_id, $type=MYSQL_BOTH){
$fa = mysql_fetch_array($query_id,$type);
return $fa;
}
//fetch_assoc 1 table
public function fetch_assoc($query_id, $type=MYSQL_BOTH){
$fa = mysql_fetch_assoc($query_id);
return $fa;
}
//trả về mysql_num_rows
public function num_rows($query_id) {
$nr = mysql_num_rows($query_id);
return $nr;
}
//giải phóng bộ nhớ
public function result($query_id, $row=0, $field) {
$r = mysql_result($query_id, $row, $field);
return $r;
}
//trả về danh sách table trong database
public function list_table(){
return mysql_list_tables($this->db_name);
}
//các table name
public function tablename($q,$i){
return mysql_tablename($q,$i);
}
//lọc dữ liệu an toàn
public function escape_string($string){
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
return mysql_real_escape_string(trim($string));
}
//disconnect với database
public function dis(){
$this->free_result();
return mysql_close($this->link_id);
}
public function show_error($string,$input){
if (!$_SESSION***91;'sql_error'***93;)
{
$_SESSION***91;'sql_error'***93; = time();
$fp = fopen(PATH_BASE.DS.'log.txt', 'ab');
fwrite($fp, '<font color="#FF0000">Error</font>: '.$input."\r\nFile: ".$_SERVER***91;'REQUEST_URI'***93;."\r\nIP: ".$_SERVER***91;'REMOTE_ADDR'***93;."\r\n");
fclose($fp);
}
if (isset($_SESSION***91;'sql_error'***93;) && (time()-$_SESSION***91;'sql_error'***93;) >= 5)
{
$fp = fopen(PATH_BASE.DS.'log.txt', 'ab');
fwrite($fp, '<font color="#FF0000">Error</font>: '.$input."\r\nFile: ".$_SERVER***91;'REQUEST_URI'***93;."\r\nIP: ".$_SERVER***91;'REMOTE_ADDR'***93;."\r\n");
fclose($fp);
unset($_SESSION***91;'sql_error'***93;);
}
echo '<html><head>
<style>
@charset "utf-8";
/* CSS Document */
*{
margin: 0px;
padding: 0px;
}
body {
margin:auto;
font-size: 12px; color: #000000; FONT-FAMILY: Verdana, Tahoma, Arial;
}
</style>
</head><body>';
echo '<div style="float: left;text-align:center;"><div style="font-size:15px;text-align:left;background-color:#FF0000;padding:5px;">'.$string.'</div><div style="background-color:#FFFFCC;padding:10px;">'.$input.'</div></div>';
echo '</body></html>';
exit();
}
}
$mysql =& new Mysql();
// bắt đầu connect CSDL
$mysql->connect($config***91;'Server'***93;***91;'servername'***93;,$config***91;'Database'***93;***91;'username'***93;,$config***91;'Database'***93;***91;'password'***93;,$config***91;'Database'***93;***91;'dbname'***93;);
// hiệu chỉnh font lúc query
$mysql->query("SET NAMES 'latin1'");