Вы делаете это неправильно.В вашем процедурном примере вы перебираете данные по строке за раз;в вашем OO-примере, если вы рассматриваете их как массивы, а затем печатаете их, вместо этого вы просматриваете данные по столбцам за раз.Вместо того, чтобы разделять данные на отдельные идентификаторы и заголовки, я бы относился к ним как к пакету (т. Е. Аналогично тому, как вы делали это в процедурной версии) - идентификатор идет с заголовком, а не с другими идентификаторами, верно?
Так, например, вы можете иметь переменную-член
private $texts = array();
, а затем в своем конструкторе выполнить:
while ($info_row = $info->fetch_array()) {
$text = array(
'id' => $info_row['info_id'],
'title' => $info_row['info_title']
);
$this->texts[] = $text;
}
и затем предоставить метод для доступа к этому массиву массивов.:
public function getTexts() {
return $this->texts;
}
Наконец, вы можете повторить его очень похоже на то, как вы это делали в процедурном примере:
<?php
$display = new InfoTest();
foreach ($display->getTexts() as $text) {
?>
<!-- html goes here -->
<?php echo $text['info_id']; ?>
<!-- more html -->
<?php echo $text['info_title']; ?>
<!-- other html -->
<?
}
?>
Отступив назад - вы можете спросить, действительно ли все это необходимо.В процедурном PHP нет ничего плохого по сути - если он делает то, что вам нужно, и делает это четко, вам, возможно, лучше отдать предпочтение простому, а не сложному.