手続き型コードをoopに変換しようとしています。
<?php
$dbc = get_dbc();
$info = mysqli_query($dbc, "SELECT info_id, info_title FROM text") or die("Error: ".mysqli_error($dbc));
while ($info_row = mysqli_fetch_array($info))
{
$info_id = $info_row['info_id'];
$info_title = $info_row['info_title'];
?>
<div style="width: 100%;">
<div style="float: left;">
<?php echo $info_id; ?>
</div>
<div style="float: left;">
<?php echo $info_title; ?>
</div>
<div style="clear: both;"></div>
</div>
<?php } ?>
HTMLスタイルなしのクラス/オブジェクトでの私の不完全な試み:
<?php
class InfoTest {
private $info_id;
private $info_title;
public function __construct() {
$dbc = get_dbc();
$info = $dbc->query ("SELECT info_id, info_title FROM text");
if ($dbc->error) {
printf("Error: %s\n", $dbc->error);
}
while ($info_row = $info->fetch_array())
{
$info_id = $info_row['info_id'];
$info_title = $info_row['info_title'];
}
$info->free();
$this->info_id = $info_id;
$this->info_title = $info_title;
}
public function setInfoID() {
$this->info_id = $info_id;
}
public function getInfoID() {
return $this->info_id;
}
public function setInfoTitle() {
$this->info_title = $info_title;
}
public function getInfoTitle() {
return $this->info_title;
}
public function __destruct() {
}
}
?>
<?php
$display = new InfoTest();
echo $display->getInfoID();
echo $display->getInfoTitle();
?>
私の手続き型コードは次のように出力されます:1 One22。
私のoopコードは次のように出力されます:2 Two
私の理解では、$info_idと$info_titleは配列ではなく、最後に保存された情報のみを出力するため、oopはそのように出力されます。
だから、私が変更した場合:
$info_id = $info_row['info_id'];
$info_title = $info_row['info_title'];
に:
$info_id[] = $info_row['info_id'];
$info_title[] = $info_row['info_title'];
配列を印刷すると、必要なすべての情報が表示されますが、配列以外の形式で表示するにはどうすればよいですか?
私が今までやってきたことは正しいですか、それとも私はこれに近づいていますか?