SQL / PHP - отображать только первое значение моей базы данных - PullRequest
0 голосов
/ 14 ноября 2018

Все в названии. почему я получаю только первую строку в моей таблице, а не все поля.

Функция:

class Services_Label extends Services_Abstract
{
    public function getlibelle()
    {
        $sRequest = 'SELECT NAME FROM menu WHERE id_application = 2';
        $this->executeQueries($sRequest);
        $aResult = $this->getOneResult();
        $this->freeStatement();
        return $aResult;
     }
 }

применение функции:

$oMessage = new Services_Label();

$toto = $oMessage->getlibelle();

var_dump($toto);

ответ:

string(15) "Prise en charge" 

таблица: enter image description here

Ответы [ 4 ]

0 голосов
/ 14 ноября 2018

Вам нужно собрать строки, используя цикл while. Поэтому измените вашу функцию 'getOneResult' на что-то вроде этого.

public function getResults()
{
    $array = array();
    while ($row = $this->getNextRow(OCI_BOTH | OCI_RETURN_NULLS)) {
        $array[] = $row;
    } 
    return $array;
}
0 голосов
/ 14 ноября 2018

Я не знаю из вашего вопроса, как называются столбцы таблицы, но если вы хотите, чтобы все столбцы использовали SELECT *

class Services_Label extends Services_Abstract
{
    public function getlibelle()
    {
        $sRequest = 'SELECT * FROM menu WHERE id_application = 2';
        $this->executeQueries($sRequest);
        $aResult = $this->getOneResult();
        $this->freeStatement();
        return $aResult;
     }
 }

Чаще всего лучше назвать только те столбцы, которые вына самом деле хотите вернуть, так что вы бы сделали это, как это

class Services_Label extends Services_Abstract
{
    public function getlibelle()
    {
        $sRequest = 'SELECT NAME,COL2,COL3 FROM menu WHERE id_application = 2';
        $this->executeQueries($sRequest);
        $aResult = $this->getOneResult();
        $this->freeStatement();
        return $aResult;
     }
 }
0 голосов
/ 14 ноября 2018

это функция getoneresult ()

 public function getOneResult()
{
    $row = $this->getNextRow(OCI_BOTH | OCI_RETURN_NULLS);

    if (is_array($row)) {
        return $row[0];
    } else {
        return false;
    }
}
0 голосов
/ 14 ноября 2018

Исходя из названия getOneResult(), ваш набор результатов, вероятно, ограничен одним результатом.

Можете ли вы опубликовать всю функцию для подтверждения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...