[PHP-users 15426]Re: fileとして作成する

tamura tamura @ bihakubi.com
2003年 5月 21日 (水) 01:50:00 JST


田村です、毎度。
Setoさん、きしださん、重松さんお世話をかけます。質問の文が、不適当でご迷
惑をおかけしましたこと、お詫びいたします。

長文ですが、

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>お知らせ</title>
</HEAD>
<BODY>
<?php
function rist($dantai) {
  $mycon = mysql_connect($svname, $usname, $psname);
  mysql_select_db($dbname);
  $sql = "SELECT id, kaiin_name, dantai FROM $tbname WHERE dantai='$dantai'";
  $result = mysql_query($sql, $mycon);
  while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<option value=\"".$myrow["id"]."\">".cnv_dispstr($myrow["kaii
n_name"])."</option>";
  }
  return $myrow["id"];
}
?>
(中略)
<form method="POST" action="createhtml.php">
<input type="submit" value="表示" name="submit">
<table>
<tr><td>会員名</td><td><select size="1" name="kaiin">
<option value="<?php echo $ctid ?>" selected>選択してください
</option><?php rist($dantai); ?></select>
</td></tr>
</table>
</form>
</BODY>
</HTML>

上のような、関数ristで、コンボボックス(名前が変かも)を、表示する場合
です。上のものはブラウザで、コンボボックス内のリストに、会員名がでてきま
すが、同時に、同じ表示が出来るファイルをもう1つサーバーに作成したいので
す。

 以下のコードを、上の文に、挿入しましたところ、
<?php
$dirname = "./";
$filename = "create.html";
$dh = opendir($dirname);
closedir ($dh);
$string1 ="<html><head><title>";
$string2="お知らせ</title></head>";
$string3="会員名<select size='1' name='kaiin'>";
$string4="<option selected>選択してください</option>";
$string5="<?php rist0($dantai); ?>";
$string6="</select>";
$string7="</body></html>";
$fp = fopen( $filename, "w");
flock ($fp,2);
fwrite ($fp, $string1);
fwrite ($fp, $string2);
fwrite ($fp, $string3);
fwrite ($fp, $string4);
fwrite ($fp, $string5);
fwrite ($fp, $string6);
fwrite ($fp, $string7);
flock($fp,3);
fclose($fp);
echo "ファイル作成完了<br><br>\n";
?>
なるほどサーバーに新しくcreate.htmlファイルが、作成されるのですが、ブラ
ウザで表示するとコンボボックスには、「選択してください」しか表示されず、
会員名が出てきません。

 よろしくご指導ください。



PHP-users メーリングリストの案内