実現したい事
既に登録されている別のテーブル(home_data)のデータを一部引っ張ってきて、新たに登録するテーブル(person_data)に登録し、両方のデータを結び付けたいと考えています。そのデータはHTMLのselectタグでプルダウンメニューとして表示したいと考えています。
困っている事
HTMLのselectタグのForeachが2回目以降表示されません。
#その他
テーブルのデータは一部省略。
<テーブル:home_data>
法人名:company_name
法人コード:company_code
施設名:home_name
施設コード:home_code
<テーブル:person_data>
法人コード:company_code
施設コード:home_code
入居者名:person_name
入居者コード:person_code
・xamppを使用しています。
・エラーは出ていません。
PHP
1$pdo = new pdo(DSN,DB_USER,DB_PASS); 2$output = $pdo->prepare("SELECT * FROM home_data ORDER BY company_code = :company_code DESC"); 3$output->bindParam(":company_code", $company_code); 4$output->execute(); 5 6<!------------中略 -------------> 7<!--テーブル:person_dataの登録フォーム --> 8<form method="post" action="person_regist_confirmation.php"> 9 <p>法人名</p> 10 <select> 11//ここのforeachは表示される。 12 <?php foreach($output as $o) : ?> 13 <option value="<?php echo $o['company_code'] ?>"><?php echo $o['company_code'] . ':' . $o['company_name'] ?></option> 14 <?php var_dump($output); ?> 15 <?php endforeach; ?> 16 </select> 17 <p>施設名</p> 18 <select> 19//ここが表示されない理由が分からない 20 <?php foreach($output as $o) : ?> 21 <option value="<?php echo $o['home_code'] ?>"><?php echo $o['home_code'] . ':' . $o['company_name'] ?></option> 22 <?php endforeach; ?> 23 </select> 24<!------------中略 -------------> 25</form> 26
試した事
$outputと$oの中を確認した。
1回目のforeachのループが終わった後にvar_dump($o);で値を確認したところ、home_dataのデータが全て入っていた。
そこで、試しに2回目のforeachの直前に
<?php $output = $o; ?>
<?php var_dump($output); ?>
を入れてみたが2回目のforeachは表示されなかった。
回答1件
あなたの回答
tips
プレビュー