За последние 24 часа нас посетил 25071 программист и 2020 роботов. Сейчас ищут 989 программистов ...

Выборка из базы данных

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

  1. Алмазбек

    Алмазбек Новичок

    С нами с:
    21 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    Здравствуйте функция в начале кода "select" выбирает только 2 таблицы сначала там идёт 3 таблицы после строки "if (!$result_set) return false;" там уже 2 таблицы
    PHP:
    1. <?php
    2. require_once "config_class.php";
    3. require_once "checkvalid_class.php";
    4.  
    5. class Database {
    6.    
    7.     private $config;
    8.     private    $mysqli;
    9.     private    $valid;
    10.    
    11.     public function __construct() {
    12.         $this->config = new Config();
    13.         $this->valid = new CheckValid();
    14.         $this->mysqli = new mysqli($this->config->host, $this->config->user, $this->config->password, $this->config->db);
    15.         $this->mysqli->query("SET NAMES 'utf8'");
    16.     }
    17.    
    18.     private function query($query) {
    19.         return $this->mysqli->query($query);
    20.     }
    21.     private function select($table_name, $fields, $where = "", $order = "", $up = true, $limit = "") {
    22.         for ($i = 0; $i < count($fields); $i++) {
    23.             if ((strpos($fields[$i], "(") === false) && ($fields[$i] != "*")) $fields[$i] = "`".$fields[$i]."`";
    24.         }  
    25.         $fields = implode(",", $fields);
    26.         $table_name = $this->config->db_prefix.$table_name;
    27.         if (!$order) $order = "ORDER BY `id`";
    28.         else {
    29.             if ($order != "RAND()") {
    30.                 $order = "ORDER BY `$order`";
    31.                 if (!$up) $order .= " DESC";
    32.             }
    33.             else $order = "ORDER BY $order";
    34.         }
    35.         if ($limit) $limit = "LIMIT $limit";
    36.         if ($where) $query = "SELECT $fields FROM $table_name WHERE $where $order $limit";
    37.         else $query = "SELECT $fields FROM $table_name $order $limit";
    38.         $result_set = $this->query($query);
    39.         if (!$result_set) return false;
    40.         $i = 0;
    41.         while ($row = $result_set->fetch_assoc()) {
    42.             $data[$i] = $row;
    43.             $i++;
    44.         }
    45.         $result_set->close();
    46.         return $data;
    47.  
    48.     }
    49.    
    50.     public function inser($table_name, $new_values) {
    51.         $table_name = $this->config->db_perfix.$table_name;
    52.         $query = "INSERT INTO $table_name (";
    53.         foreach ($new_values as $field => $value) $query .= "`".$field."`,";
    54.         $query = substr($query, 0, -1);
    55.         $query .= ") VALUES (";
    56.         foreach ($new_values as $value) $query .= "'".addslashes($value)."',";
    57.         $query = substr($query, 0, - 1);
    58.         $query .= ")";
    59.         return $this->query($query);
    60.     }
    61.    
    62.     private function update($table_name, $upd_fields, $where) {
    63.         $table_name = $this->config->db_prefix.$table_name;
    64.         $query = "UPDATE $table_name SET ";
    65.         foreach ($upd_fields as $field => $value) $query .= "`$field` = '".addslashes($value)."'";
    66.         $query = substr($query, 0, -1);
    67.         if ($where) {
    68.             $query .= " WHERE $where";
    69.             return $this->query($query);
    70.         }
    71.         else return false;
    72.     }
    73.    
    74.     public function delete($table_name, $where = "") {
    75.         $table_name = $this->config->db_prefix.$table_name;
    76.         if ($where) {
    77.             $query = "DELETE FROM $table_name WHERE $where";
    78.            
    79.             return $this->query($query);
    80.         }
    81.         else return false;
    82.     }
    83.    
    84.     public function deleteAll ($table_name) {
    85.         $table_name = $this->config->db_prefix.$table_name;
    86.         $query = "TRUNCATE TABLE `$table_name`";
    87.         return $this->query($query);
    88.     }
    89.    
    90.     public function getField($table_name, $field_out, $field_in, $value_in) {
    91.         $data = $this->select($table_name, array($field_out), "`$field_in`='".addslashes($value_in)."'");
    92.         if (count($data) != 1) return false;
    93.         return $data[0][$field_out];
    94.     }
    95.    
    96.     public function getFieldOnID($table_name, $id, $field_out) {
    97.         if (!$this->existsID($table_name, $id)) return false;
    98.         return $this->getField($table_name, $field_out, "id", $id);
    99.     }
    100.    
    101.     public function getAll($table_name, $order, $up) {
    102.         return $this->select($table_name, array("*"), "", $order, $up);
    103.     }
    104.    
    105.     public function getAllOnField($table_name, $field, $value, $order, $up) {
    106.         return $this->select($table_name, array("*"), "`$field`='".addslashes($value)."'", $order, $up);
    107.     }
    108.    
    109.     public function getLastID($table_name) {
    110.         $data = $this->select($table_name, array("MAX(`id`)"));
    111.         return $data[0]["MAX(`id`)"];
    112.     }
    113.    
    114.     public function deleteOnID($table_name, $id) {
    115.         if (!$this->existsId($table_name, $id)) return false;
    116.         return $this->delete($table_name, "`id` = '$id'");
    117.     }
    118.    
    119.     public function setField($table_name, $field, $value, $field_in, $value_in) {
    120.         return $this->update($table_name, array($field => $value), "`$field_in` = '".addslashes($value_in)."'");
    121.     }
    122.    
    123.     public function setFieldOnID($table_name, $id, $field, $value) {
    124.         if (!$this->existsID($table_name, $id)) return false;
    125.         return $this->setField($table_name, $field, $value, "id", $id);
    126.     }
    127.    
    128.     public function getElementOnID($table_name, $id) {
    129.         if (!$this->existsID($table_name, $id)) return false;
    130.         $arr = $this->select($table_name, array("*"), "`id` = '$id'");
    131.         return $arr[0];
    132.     }
    133.    
    134.     public function getRandomElements($table_name, $count) {
    135.         return $this->select($table_name, array("*"), "", "RAND()", true, $count);
    136.     }
    137.    
    138.     public function getCount($table_name) {
    139.         $data = $this->select($table_name, array("COUNT(`id`)"));
    140.         return $data[0]["COUTN(`id`)"];
    141.  
    142.     }
    143.    
    144.     public function isExists($table_name, $field, $value) {
    145.         $data = $this->select($table_name, array ("id"), "`$field` = '".addslashes($value)."'");
    146.         if (count($data) === 0) return false;
    147.         return true;
    148.     }
    149.    
    150.     private function existsID($table_name, $id) {
    151.         if (!$this->valid->validID($id)) return false;
    152.         $data = $this->select($table_name, array("id"), "`id`='".addslashes($id)."'");
    153.         if (count($data) === 0) return false;
    154.         return true;
    155.     }
    156.    
    157.     public function __destruct() {
    158.         if ($this->mysqli) $this->mysqli->close();
    159.     }
    160.    
    161. }
    162. ?>
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну поздравляем!!!
    а вопрос то в чём?? ((((((( :
     
  3. Алмазбек

    Алмазбек Новичок

    С нами с:
    21 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    он должен выбирать 3 базы
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    как у тебя описано в коде так и делает, и ничего другого он не должен ((( :
    напиши код который тебе нужен, что бы работал с 3 и будет 3 (;
     
  5. Алмазбек

    Алмазбек Новичок

    С нами с:
    21 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    можешь объяснить как это я новичок просто и всё сложно
     
  6. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    переделывать код это и называется программировать. Ты либо становишься программистом и программируешь. Либо платишь программистам.