-
Notifications
You must be signed in to change notification settings - Fork 0
/
PDOFactory.php
45 lines (42 loc) · 1.89 KB
/
PDOFactory.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
class PDOFactory{
public static function getConnection(){
$user = 'b5b046c7d1b284';
$password = 'bea4bf602be44b3';
$url = 'us-cdbr-iron-east-03.cleardb.net';
$dbname = 'heroku_b2ca4438ee10c17';
return new PDO('mysql:host='. $url .';dbname='. $dbname . ';charset=utf8',$user,$password);
}
public static function getPosts(){
$db = PDOFactory::getConnection();
$stmt = $db->prepare('SELECT b.name as group_name, posts.community_id, posts.user_id, posts.`text`,posts.type, user.`name`, user.email FROM community_user_list a
LEFT JOIN community b ON a.community_id = b.id
LEFT JOIN posts ON a.community_id = posts.community_id
LEFT JOIN user ON posts.user_id = user.id WHERE a.user_id = ? ORDER BY posts.`date-posted` DESC; ');
$stmt->execute([$_SESSION['user_id']]);
return $stmt->fetchAll();
}
public static function getGroupPosts($group_name){
$db = PDOFactory::getConnection();
$stmt = $db->prepare('SELECT b.name as group_name, posts.community_id, posts.user_id, posts.`text`,posts.type, user.`name`, user.email
FROM community b
LEFT JOIN posts ON b.id = posts.community_id
LEFT JOIN user ON posts.user_id = user.id WHERE b.name = ? ORDER BY posts.`date-posted` DESC; ');
$stmt->execute([$group_name]);
return $stmt->fetchAll();
}
public static function getGroups($page){
$db = PDOFactory::GetConnection();
$stmt = $db->prepare('SELECT * FROM community LIMIT 9 OFFSET :offset');
$offset = ($page-1)*9;
$stmt->bindParam(':offset',$offset,PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetchAll();
}
public static function getUserGroups($user_id){
$db = PDOFactory::getConnection();
$stmt = $db->prepare('SELECT b.name, b.header_image FROM community_user_list a LEFT JOIN community b on a.community_id = b.id WHERE a.user_id = ?');
$stmt->execute([$user_id]);
return $stmt->fetchAll();
}
}