titles メソッドにこのようなものが必要です
$data = new stdClass();
$data->title = array();
$data->tag = array();
このようなファイルも追加する必要があります
$data->title[$row->id][] = $row;
$data->tag[$row->id][] = $this->tags($row->id);
次に、このようにループできます
foreach($data->title as $id => $title)
{
echo $title->topic;
foreach($data->tag[$id] as $tag)
{
echo $tag->name;
}
}
また、エラーを有効にして、ページの上部に PHP エラー .. が表示されるようにします。
error_reporting(E_ALL);
ini_set("display_errors","On");
PHP ドキュメント オンmysql_***
この拡張機能の使用はお勧めできません。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。詳細については、MySQL: API ガイドの選択および関連する FAQ も参照してください。この関数の代替手段には、次のものがあります。
あなたのコードはどのように見えるべきだと思いますか
class Somthing {
private $db;
function __construct() {
$this->db = new mysqli("localhost", "user", "password", "db");
}
function titles() {
$data = new stdClass();
$data->title = array();
$data->tag = array();
$result = $this->db->query("SELECT * FROM title");
while ( $row = $result->fetch_object() ) {
$data->title[$row->id] = $row;
$data->tag[$row->id] = $this->tags($row->id);
}
return $data;
}
function tags($title_id) {
$tag = array();
$result = $this->db->query("SELECT * FROM tag WHERE title_id = '$title_id'");
while ( $row = $result->fetch_object() ) {
$tag[] = $row;
}
return $tag;
}
}
$somthing = new Somthing();
foreach ($somthing->titles() as $id => $title ) {
echo $title->topic;
foreach ( $data->tag[$id] as $tag ) {
echo $tag->name;
}
}