まとめ:
TABLE2 のデータを表示する場合、TABLE2 の TOPIC フィールドの数字を、TABLE1 の関連する TOPIC_NAME に置き換えます。
詳細:
同じ MySQL DB に 2 つのテーブルがあります。TABLE2 で使用されるように、TABLE1 から配列を設定するのに助けが必要です。問題があれば、私は PDO を使用しています。
UPDATE や INSERT はありません...数字の代わりに単語を表示するだけです。
TABLE2 の Foreach 表示ループを TABLE1 の Foreach ループ内にネストしますか?
また...
最初に TOPIC データを配列に入力してから、TABLE1 Foreach 表示ループを実行できますか?
また...
配列を作成せずに、TABLE2 のデータを使用して TABLE1 の TOPIC_NAME を参照することはできますか?
また...
???
============================
TABLE1はトピックのリストです。
TABLE1 構文:
TOPIC_NUM、TOPIC_NAME
TABLE1 のサンプル レコード:
1,トピック1
2,トピック2
等...
============================
TABLE2は、個人と関連データのリストです。
TABLE2 構文:
ID、名前、州、トピック、年
TABLE2 のサンプル レコード:
1、ジョン・スミス、マサチューセッツ州、2005 年 2 月
2、ジェーン ドウ、アリゾナ州、2009 年 1 月
等...
============================
参考までに: 上記のサンプル レコードでは、州の省略形の後の数字がトピックです。
これが私のコードです:
<?php
try {
$db = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec("SET CHARACTER SET utf8");
// TABLE1
$tablename1 = 'topics';
$topics_col1 = 'TOPIC_NUM';
$topics_col2 = 'TOPIC_NAME';
// TABLE2
$tablename2 = 'people';
$items_col1 = 'NAME';
$items_col2 = 'STATE';
$items_col3 = 'TOPIC';
$items_col4 = 'YEAR';
$items_q = "SELECT $items_col1, $items_col2, $items_col3 FROM $tablename2";
$items = $db->query($items_q);
foreach ($items as $items_row) {
?>
<h2><?php
/*
THIS IS WHERE THE TOPIC_NAME FROM TABLE1 SHOULD DISPLAY
*/
?></h2>
<p>
<?php echo $items_row[$items_col1];?>
<br />
<?php echo $items_row[$items_col2];?>
<br />
<?php echo $items_row[$items_col3];?>
<br />
<?php echo $items_row[$items_col4];?>
</p>
<?php
} // end FOREACH
$db = null; // close the database connection
} // end TRY
catch(PDOException $e) {
echo '<span class="error">ERROR:</span><br />'.$e->getMessage() . "<br />";
die();
} // end CATCH
?>