Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $db_host = 'localhost';
- $db_user = 'db user';
- $db_pass = 'db password';
- $db_name = 'db name';
- // создаем объект подключения к базе данных
- $dbh = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass);
- // функция получает каталог. При необходимости ведет поиск. Работает с пагинацией.
- function get_catalog($search = null, $page = 0, $all = false) {
- global $dbh;
- $return = [];
- $wh = '';
- $limit = 0;
- $offset = 9;
- if(isset($search['page'])) {
- $limit = ($search['page']-1) * 9;
- $offset = 9;
- unset($search['page']);
- }
- if($search != null) {
- $wh = ' where ';
- $and = [];
- foreach($search as $key=>$param) {
- if(is_array($param)) {
- foreach($param as $v) {
- $and[] = "`{$key}` LIKE '%{$v}%'";
- }
- } else {
- $and[] = "`{$key}` LIKE '%{$param}%'";
- }
- }
- $and_str = implode(" AND ", $and);
- $wh .= $and_str;
- }
- $all_str = $all === false ? '' : "limit {$limit}, {$offset}";
- $sql = "SELECT * FROM goods {$wh} {$all_str}";
- $query = $dbh->query($sql);
- $rows = $query->fetchAll(PDO::FETCH_ASSOC);
- foreach($rows as $row){
- $row['composition'] = get_composition($row['id']);
- if($row['images'] != null) {
- $image_ids = explode(",", $row['images']);
- foreach($image_ids as $img_id) {
- $row['image'][] = get_image_by_id($img_id)['rows'][0]??[];
- }
- }
- $return['rows'][] = $row;
- }
- return $return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement