Advertisement
Guest User

Untitled

a guest
Sep 30th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.02 KB | None | 0 0
  1. $dsn = 'mysql:host=localhost;dbname=laplaza;charset:UTF8';
  2. $user = 'root';
  3. $pass = '';
  4. $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION );
  5. try{
  6.     $db = new PDO($dsn,$user,$pass, $driver_options);
  7. }catch(PDOException $e){
  8.     echo "error";
  9. }
  10.  
  11. $user = new Users;
  12. $mapper = new UserMapper( $db );
  13.  
  14. $user->set_id( 104 );
  15. $mapper->fetch( $user );
  16. echo $user->get_fullname();
  17.  
  18. class userMapper{
  19.     private $_pdo;
  20.  
  21.     function __construct( $pdo ){
  22.         $this->_pdo = $pdo;
  23.     }
  24.     public function fetch($user){
  25.         $params = array(':id'=> &$this->_userid);
  26.         $query = "SELECT up.birthday, up.photo_thumb AS 'avatar',
  27.        u.id, u.firstname, u.lastname, u.sex, u.bostadsort, u.user_level AS 'isadmin',
  28.        u.last_access AS 'lastaccess', u.lastname AS 'fullname' FROM users u
  29.        INNER JOIN users_profile up ON (up.uID = u.id)
  30.         WHERE u.id=:id";
  31.         $stmt = $this->_pdo->prepare($query);
  32.         $stmt->bindValue(":id", $user->id());
  33.         $stmt->execute();
  34.         $data = $stmt->fetch( PDO::FETCH_ASSOC );
  35.         $array = array_shift( $data );
  36.         $user->assign( $array );
  37.  
  38.     }
  39. }
  40.  
  41. class Users
  42. {
  43.     private $_userid;
  44.     private $_isadmin;
  45.     private $_fullname;
  46.     private $_firstname;
  47.     private $_sex;
  48.     private $_bostadsort;
  49.     private $_avatar;
  50.     private $_birthday;
  51.     private $_lastaccess;
  52.     private $time;
  53.     private $_mapper;
  54.     function __construct()
  55.     {
  56.         $this->time = time();
  57.     }
  58.     public function assign($data)
  59.     {
  60.         if(is_array($data)){
  61.             foreach ( $data as $name => $value)
  62.             {
  63.                 $this->{'_'.$name} = $value;
  64.             }
  65.         }
  66.     }
  67.     public function set_id($id)
  68.     {
  69.         $this->_userid = $id;
  70.     }
  71.     public function id()
  72.     {
  73.         if ( $this->_userid == NULL )
  74.         {
  75.             $this->assign( $this->_fetch() );
  76.         }
  77.         return $this->_userid;
  78.     }
  79.     public function get_fullname()
  80.     {
  81.         return $this->_fullname;
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement