2つのPHPページがあります...
このコードを使用したINDEX.PHP :
<form method="post" action="" name="f1">
<input type="text" name='p_name' size='50'><br>
<input type="text" name='p_name2' size='50'><br>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("index2.php","Ratting","width=550,height=170,left=150,top=200,toolbar=1,status=1,");>Click here to open the child window</a>
</form>
およびINDEX2.PHP とこのavascriptコード:
<script langauge="javascript">
function post_value()
{
opener.document.f1.p_name.value = document.frm.c_name.value;
opener.document.f1.p_name2.value = document.frm.c_name2.value;
self.close();
}
</script>
そしてこのPHP/HTML:
<form name="frm" method="post" action="">
<?php
$sql="SELECT * from customer";
$rs=mysql_query($sql,$conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
echo '<input type="text" name="c_name" size="50" value="'.$result["sequence"].'" /><br>
<input type="text" name="c_name2" size="50" value="'.$result["company"].'" /><br>
<input type=button value=\'Submit\' onclick=\'post_value();\'><br><br>';
}
?>
</form>
基本的に、index.phpにアクセスすると、リンクをクリックしてポップアップウィンドウindex2.phpが開き、データベースから顧客が一覧表示され、それぞれに2つのテキストボックスが表示されます。1つは顧客のシーケンス/ ID用で、もう1つは会社名と行ごとに1つの送信ボタン。
ボタンが押されるとpost_value();
、データベース/子ポップアップウィンドウ(index2.php)の値を親ウィンドウ(index.php)のテキストボックスに配置するjavascript関数が実行されます。
このコードを実行すると、親ページのボックスボックスにundefinedという単語が表示されますが、phpでwhileループを削除すると、顧客のデータベースから1行だけが表示されます。
PHPのwhileループは好きではありませんが、理由はわかりません。どんな助けでも大歓迎です。