0

私のフォームには、データベース内のデータにリンクするエコーがあります。ただし、フォームに初めてアクセスした場合 (セッションに関連するテーブルに ID がない場合)、テキストボックスが表示されないのに、表示されるはずなのに空です! ID がセッションにリンクしていて、データベースに行があれば成功です (ユーザーは既にフォームを 1 回入力し、編集に戻っています)。より明確にするために、ユーザーが初めてフォームにアクセスした場合、テキストエリアはそこにある必要があります (現時点では消えます) が、空である必要があります。

 $rs_settings = mysql_query("SELECT * from thesis WHERE user_id = $user_id;");

     <br>

  <form action="thesis.php" method="post" name="regForm" id="regForm" >

  <?php while ($row_settings = mysql_fetch_array($rs_settings)) {?>

      Title of Proposed Thesis<span class="required">*</span>

      <textarea name="thesis_Name" type="text" style="width:500px; height:150px" 

      id="thesis_Name" size="600"><?php echo $row_settings['thesis_Name']; ?>   
      </textarea>
4

2 に答える 2

1

mysql_num_rows()を使用する


<form action="thesis.php" method="post" name="regForm" id="regForm" >
<?php
$num_rows = mysql_num_rows($rs_settings);
if($num_rows > 0) { ?>
<?php while ($row_settings = mysql_fetch_array($rs_settings)) {?>

//your textarea with values from database

<?php } 
} else { ?>
//empty textares
<textarea></textarea>

<?php } ?>

このようなことを意味していましたか

于 2012-04-27T08:23:31.063 に答える
0

以下のコードを試してみてください。役立つ場合があります。

<form action="thesis.php" method="post" name="regForm" id="regForm" >

    <?php if (mysql_num_rows($rs_settings) <= 0) { ?>
        <textarea name = "thesis_Name" type = "text" style = "width:500px; height:150px"

                id = "thesis_Name" size = "600"></textarea>
                <?php
            } else {
                while ($row_settings = mysql_fetch_array($rs_settings)) {
                    ?>

            Title of Proposed Thesis<span class="required">*</span>

            <textarea name="thesis_Name" type="text" style="width:500px; height:150px" 

                    id="thesis_Name" size="600"><?php echo $row_settings['thesis_Name']; ?>   
            </textarea>
            <?php
        }
    }?>

ここではmysql_num_rows($query)、最初に結果が行に存在するかどうかを確認します

ただし、フォームに複数のフィールドがある場合は、

<?php
$rs_settings = mysql_query("SELECT * from thesis WHERE user_id = {$user_id}") or die(mysql_error());
$result = array();
if (mysql_num_rows($rs_settings) == 0) {
    $result[0]['thesis_Name'] = "";
    $result[0]['field1'] = "";
} else {
    $i = 0;
    while ($res = mysql_fetch_array($rs_settings)) {
        $result[$i] = $res;
        $i++;
    }
}
foreach ($result AS $index => $r) {
    ?>

    Title of Proposed Thesis<span class="required">*</span>

    <textarea name="thesis_Name" type="text" style="width:500px; height:150px" 

            id="thesis_Name" size="600"><?php echo $r['thesis_Name']; ?>   
    </textarea>
<?php } ?>
于 2012-04-27T10:36:02.873 に答える