※ ChatGPTを利用し、要約された質問です(原文:フレームをまたいだ非表示・表示の切り替えについて)
フレームをまたいだ非表示・表示の切り替えについて
このQ&Aのポイント
左ページからデータ入力があった場合のみ右ページにテーブルを表示させたい
現在、フレーム&MySQLを用いたページを作成しています
質問者はこの現象を解決する方法について詳しい方の助けを求めています
現在、フレーム&MySQLを用いたページを作成しています。
ページを左と右の二つにわけてて、
左のソースは
<html>
<head>
<title>単漢字学習</title>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<H2>単漢字検索項目</H2>
<P><b>検索項目を入力して下さい<P>(複数選択可)</P></b></P>
<form name="form1" action="demo2.php" method="post" target="migi">
漢字直接入力エリア
<TEXTAREA name = "chokusetsu" cols="5" rows="2" wrap="off"></TEXTAREA><BR><BR>
</TEXTAREA>
漢字読み入力エリア
<TEXTAREA name = "yomi"cols="5" rows="2" wrap="off"></TEXTAREA><BR><BR>
</TEXTAREA>
<P>画数</P>
<SELECT name="kakusuu">
<OPTION value="" selected>----画数を選択してください----</OPTION>
<OPTION value="1">1画</OPTION>
<OPTION value="2">2画</OPTION>
中略
</SELECT><BR><BR>
<P>部首</P>
<SELECT name="busyu">
<OPTION value="" selected>----部首を選択してください----</OPTION>
<OPTION value="一部 いち">一部 いち</OPTION>
<OPTION value="│部 ぼう">│部 ぼう</OPTION>
中略
</SELECT><BR><BR><BR>
<input type="submit" value="送信">
<input type="reset" value="リセット">
</body>
</html>
となっていて
右ページのソースは
<?php
require_once("mysql.php");
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<input type="hidden" name="ie" value="UTF-8">
<title>7-4 MySQLクラスでのデータの表示</title>
</head>
<body>
<b>入力された条件 </b>
<?php
print "直接入力:";
print $_POST['chokusetsu'];
print " 読み:";
print $_POST['yomi'];
print " 画数:";
print $_POST['kakusuu'];
print " 部首:";
print $_POST['busyu'];
print " の検索結果";
$search_key1 = addslashes($_POST['chokusetsu']);
$search_key2 = addslashes($_POST['yomi']);
$search_key3 = addslashes($_POST['kakusuu']);
$search_key4 = addslashes($_POST['busyu']);
$mysql = new MySQL;
$sql = "SELECT * FROM tankanji
WHERE
(onyomi like '%$search_key2%'
OR
kunyomi like '%$search_key2%')
AND
kanji like '%$search_key1%'
AND
busyu like '%$search_key4%'
AND
kakusuu like '%$search_key3%'";
$mysql->query($sql);
// 検索件数の表示
?>
<TABLE width="3000" frame="border" border="3" cellspacing="1" cellpadding="3">
<TBODY>
<TR><TH>id</TH><TH>漢字</TH><TH>音読み</TH><TH>訓読み</TH><TH>部首</TH><TH>画数</TH></TR>
<?php
while($row = $mysql->fetch()){
?>
<TR>
<TD align="center"><?=$row['id']?></TD>
<TD align="center"><?=$row['kanji']?></TD>
<TD align="center"><?=$row['onyomi']?></TD>
<TD align="center"><?=$row['kunyomi']?></TD>
<TD nowrap align="center"><?=$row['busyu']?></TD>
<TD align="center"><?=$row['kakusuu']?></TD></TR>
<?php
}
?>
</TBODY></TABLE>
</body>
</html>
こんな感じです。
現在では左ページのテキストボックスやプルダウンメニューから操作をしてデータを右ページに送らなくても右ページにはテーブルが出現してしまってます。この現象を左ページからデータ入力があった場合のみテーブルを表示させたいのですが、このようなことはできるのでしょうか?
誰か詳しい方お願いします。
お礼
この通りの実行したらすぐにできました。 ありがとうございます。 これからも質問があったらよろしくおねがいします。