У меня есть вопрос с ООП на PHP и MySQL.
Я работаю с PHP 7, используя ООП, я хочу создать класс Connection.В этом классе
у меня есть метод, который генерирует запрос к базе данных и сохраняет его в массиве.Я хочу, чтобы результат этого массива был открыт в другом классе другого файла.Если я использую оператор if, отправляется одно значение, если я использую цикл while, при запросе вектора в другом файле ничего не отображается.Я хочу создать этот метод, чтобы избежать необходимости переписывать вызовы для соединения с базой данных.
Это код, который будет наследовать класс, который показывает данные.
public function open_connection()
{
$this->connect = new mysqli( self::$SERVER, self::$USER, self::$PASS, $this->DB ) or die ( "Error" );
}
public function close_connection()
{
mysqli_close( $this->connect );
}
protected function execute_a_fetch_query( )
{
$this->open_connection();
$orderA = $this->connect->query( $this->query );
$orderB = $this->connect->query( $this->query );
if ( $this->rows = mysqli_fetch_array( $orderA ) ) { //this sentence avoid a duplicate result from the query
if ( $this->rows = mysqli_fetch_array( $orderB ) );
}
$this->close_connection();
}
Издесь другой метод в классе Show
public function data( $attributes = array() )
{
$this->query = 'select * from Supplier';
$this->execute_a_fetch_query();
echo '<tr>';
for ( $i = 0; $i < count( $this->_attributes ); $i++ ) {
echo
'<td>'. $this->rows[ $attributes[ $i ] ]. '</td>';
}