За последние 24 часа нас посетили 73780 программистов и 10145 роботов. Сейчас ищут 2746 программистов ...

Связи таблиц и их использование

Тема в разделе "PHP для новичков", создана пользователем Enjoy, 5 май 2016.

  1. Enjoy

    Enjoy Активный пользователь

    С нами с:
    10 июл 2015
    Сообщения:
    62
    Симпатии:
    0
    Добрый день
    Прошу помощи

    Есть таблица с groups в ней есть столбцы
    id и title
    есть строка
    1 Пользователи

    есть таблица users в ней столбцы
    id login pass group
    строка
    1 admin admin 1

    столбцы title.group и group.users связаны
    Оба поля типа int(11)

    Вопрос такой, как мне получая данные из таблицы users по пользователю, получать не только id группы но и его title?
    --- Добавлено ---
    Допетрил
    что надо так

    Код (Text):
    1. select * from users
    2. join groups
    3. on groups.id = users.group
    но как тперь под это подстроить функцию select?

    Код (Text):
    1. public function select($table_name, $fields, $where = "", $order = "", $up = true, $limit = "") {
    2.         for($i = 0; $i < count($fields); $i++) {
    3.             if ((strpos($fields[$i], "(") === false) && ($fields[$i] != "*")) $fields[$i] = "`".$fields[$i]."`";
    4.         }
    5.         $fields = implode(",", $fields);
    6.         $table_name = $this->config->db_prefix.$table_name;
    7.         if(!$order) {
    8.             $order = "ORDER BY `id`";
    9.         } else {
    10.             if ($order != "RAND()") {
    11.                 $order = "ORDER BY `$order`";
    12.                 if(!$up) $order .= " DESC";
    13.             }else  $order = "ORDER BY $order";
    14.         }
    15.         if($limit) $limit = "LIMIT $limit";
    16.         if($or) $or = "OR $or";
    17.         if($where) $query = "SELECT $fields FROM $table_name WHERE $where $or $order $limit";
    18.         else $query = "SELECT $fields FROM $table_name $order $limit";
    19.         //var_dump($query);die;
    20.         $result_set = $this->query($query);
    21.         if (!$result_set) return false;
    22.         $i = 0;
    23.         while ($row = $result_set->fetch_assoc()) {
    24.             $data[$i] = $row;
    25.             $i++;
    26.         }
    27.         $result_set->close();
    28.         return $data;
    29.     }
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Переписать функцию select