chào mọi người e đang học php hướng đối tượng nhưng e làm được phần insert và update dữ liệu vào.còn view dữ liệu ra e làm mãi 1 tuần vẫn chưa ra.mong mọi người giúp đỡ.đây là 3 file hướng đối tượng của e
-file connect database
<?php
class Database {
private $conn;
private $host;
private $user;
private $password;
private $baseName;
private $port;
private $Debug;
private $dbname;
private $Error;
private $BadQuery;
private $NumRows;
function __construct($params=array()){
$this->conn = false;
$this->host = 'localhost';
$this->user = 'root';
$this->password = '123456';
$this->port = '3306';
$this->Debug = true;
$this->dbname='user';
$this->connect();
}
function _destruct(){
$this->disconnect();
}
function connect(){
if(!$this->conn){
$this->conn = mysqli_connect($this->host,$this->user,$this->password, $this->dbname);
if(!$this->conn){
$this->status_fatal=true;
echo'connection db failed';
die();
}else{
$this->status_fatal=false;
}
}
return $this->conn;
}
function disconnect(){
}
function getAll($query){
$cnx = $this->conn;
if(!$cnx || $this->status_fatal){
echo ' getall -> connection bdd failed';
die();
}
$cur = mysqli_query($this->conn, $query);
$return = array();
while($data = mysqli_fetch_assoc($cur)) {
array_push($return, $data);
}
return $return;
}
function execute($query,$use_slave=false){
$cnx=$this->conn;
if(!$cnx||$this->status_fatal){
return null;
}
$cur = mysqli_query($cnx, $query);
if($cur==false){
$ErrorMessage=@mysqli_last_error($cnx);
$this->handleError($query,$ErrorMessage);
}else{
$this->Error=false;
$this->BadQuery=$query;
$this->NumRows=mysqli_affected_rows($cnx);
return;
}
@mysqli_free_result($cur);
}
function handleError($query,$str_erreur){
$this->Error=true;
$this->BadQuery=$query;
if($this->Debug){
echo"query:".$query."</br>>";
echo"error:".$str_erreur."</br>>";
}
}
}
?>
2.file modun trong php
<?php
include'db.php';
class Address{
protected $db;
private $id;
private $address;
private $city;
private $zipcode;
private $user_id;
public function __construct($id='',$address='',$city='',$zipcode='',$user_id=''){
$this->db= new Database;
$this->id=$id;
$this->address=$address;
$this->city=$city;
$this->zipcode=$zipcode;
$this->user_id=$user_id;
}
public function setId($id){
$this->id= $id;
}
public function getId(){
return $this->id;
}
public function setAddress($address) {
$this->address = $address;
}
public function getAddress() {
return $this->address;
}
public function setCity($city) {
$this->city = $city;
}
public function getCity() {
return $this->city;
}
public function setZipcode($zipcode) {
$this->zipcode = $zipcode;
}
public function getZipcode() {
return $this->zipcode;
}
public function setUserid($user_id) {
$this->user_id = $user_id;
}
public function getUserid() {
return $this->user_id;
}
function getAddressById(){
$id=$this->getId();
$sql="SELECT * FROM address where id =$id";
return $sql;
}
function getList(){
global $conn;
$sql="SELECT * FROM address order by id DESC";
$result=$this->db->execute($sql);
return $result;
}
function insert(){
$address = $this->getAddress();
$city = $this->getCity();
$zipcode=$this->getZipcode();
$userid=$this->getUserid();
global $conn;
$sql="INSERT INTO address (address, city, zipcode, user_id) VALUES ('$address', '$city', '$zipcode', '$userid')";
$this->db->execute($sql);
}
function upDate(){
$id=$this->getId();
$address=$this->getAddress();
$city=$this->getCity();
$zipcode=$this->getZipcode();
$userid=$this->getUserid();
global $conn;
$sql="UPDATE address SET address='".$address."', city='".$city."', zipcode='".$zipcode."', user_id='$userid' WHERE id=$id";
$this->db->execute($sql);
}
function delete(){
global $conn;
$sql="DELETE FROM address where id= $id";
$this->db->execute($sql);
}
}
?>
3.file view trong php
<?php
include 'Address.php';
session_start();
if(!isset($_SESSION['ses_name'])){
header("location:login.php");
}
echo '<a href="logout.php">Đăng xuất</a>';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="stype.css">
</head>
<p>Xin chào <?php echo $_SESSION['ses_name']; ?></p>
<div id="left" align="center">
<legend>Thông tin address</legend>
<div class="divfirst">
<div class="divlast">
<div class="Cell">stt</div>
<div class="Cell">address</div>
<div class="Cell">city</div>
<div class="Cell">zipcode</div>
<div class="Cell">user_id</div>
<div class="Cell">Sửa</div>
<div class="Cell">Xóa</div>
<?php
$address=new Address();
$address->getList();
foreach ($address as $row){
echo"<div class='Row'>
<div class='Cell'>$row[id]</div>
<div class='Cell'>$row[address]</div>
<div class='Cell'>$row[city]</div>
<div class='Cell'>$row[zipcode]</div>
<div class='Cell'>$row[user_id]</div>
<div class='Cell'><a href = 'edit_add.php?id= $row[id]'>edit</a></div>
<div class='Cell'><a href = 'del_add.php?id= $row[id]';>delete</a></div>
</div>";
}
?>
</div>
</div>
</div>
</html>
e làm mãi mà nó không lấy ra được hàm danh sách.mong mọi người giúp e cái hàm getlist trên.e phải viết thế nào?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?