Счетная строка делится на счетную строку - PullRequest
0 голосов
/ 14 мая 2019

У меня есть некоторая проблема с синтаксисом MySQL в CI, это моя таблица

id_data | nama_depan | nama_belakang | gender | luas_lantai | jenis_lantai 
| status

Я уже пробовал код ниже и показываю ошибку

Сообщение: объект класса CI_DB_mysqli_result не можетбыть преобразованным в int

public function getStatus1($status){ 
$str = "SELECT count(status) 
        FROM data_latih WHERE status = 1 "; 

$str1 = "SELECT count(status) 
         FROM data_latih ";

    $query = $this->db->query($str); 
    $query1 = $this->db->query($str1);

    return $query / $query1;
}

ожидаемый результат - десятичное число статуса счета = 1, разделенное на число всех строк

РЕДАКТИРОВАТЬ: нашел ответ, большое спасибо, ребята, я 'Я новичок в программировании, так что терпите меня:)))

Ответы [ 2 ]

2 голосов
/ 14 мая 2019

Проблема в том, что вы пытаетесь разделить объект на объект, который не имеет никакого смысла, попробуйте этот способ CI,

public function getStatus1($status){ 

$this->db->count_all_results('data_latih '); 
$this->db->where('status ', '1');
$this->db->from('data_latih ');
$result1 = (float)$this->db->count_all_results();

$result2 = (float)$this->db->count_all('data_latih'); 

    return $result1 / $result2 ;
}
2 голосов
/ 14 мая 2019

На самом деле вы можете справиться с этим одним запросом:

SELECT
    SUM(status = 1) / COUNT(status) AS result
FROM data_latih;

Что касается вашего PHP-кода, я бы порекомендовал назначить псевдонимы различным счетчикам и затем получить доступ к этим псевдонимам.

$sql = "SELECT SUM(status = 1) / COUNT(status) AS result FROM data_latih";
$result = $this->db->query($sql);
if ($row = $result->fetch_array()) {
    echo $row['result'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...