0

mysqli を使用してデータベースを作成し、「キーワード」というテーブルにキーワードを保存しました。このテーブルに格納されているキーワードを使用して、チェックボックスの形式でフォームのオプションとして表示する必要があります。

そのため、キーワードがデータベースに追加されていない場合、フォームのチェックボックスはユーザーが選択できるように表示されません。これを達成するための最良の方法は何ですか?私のSQLの知識は基本的なものですが、クエリがどのように見えるかについてのアイデアを得ることができます. それらをチェックボックスとして表示する方法がわかりません。

アップデート アップデート アップデート!配列をチェックボックスで表示することができました: これが私がしたことです:

<?php
include 'db.php'; 

$sql = mysqli_query($con,"SELECT * FROM addKeywordTable ORDER BY Keyword_Name ASC");

print <<<HERE
HERE;

while ($row = mysqli_fetch_array($sql))
{
$key = $row['Keyword_Name'];
$id = $row["keyID"];

print <<<HERE
<input type="checkbox" id="$key">$key<br />
   HERE;
}
?>

今、私の質問は次のとおりです: チェックされた値をフォームの結果を含む完全に別のテーブル (profileTable) に渡すにはどうすればよいですか?

私のフォームコードは次のようになります (2013 年 8 月 9 日金曜日):

   <div id="form1profile">
       <form method="post" enctype="multipart/form-data" name="addProfile" id="addProfile" >
     <fieldset>
       <legend>Add/Create a Media Source Profile</legend>
    <br>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
   <th ><label>First Name</label></th>
    <td><input name="FName" type="text" id="FName" size="40"></td>
     </tr>
 <tr>
  <th >Middle Name</th>
  <td><input name="MName" type="text" id="MName" size="40"></td>
</tr>
<tr>
  <th ><label>Last<br>
    Name</label></th>
  <td><input name="LName" type="text" id="LName" size="40"></td>
</tr>
<tr>
  <th><label>Prefix</label></th>
  <td><input name="Prefix" type="text" id="Prefix" size="40"></td>
</tr>
<tr>
  <th><label>Title
  </label></th>
  <td><input name="Title" type="text" id="Title" size="40"></td>
</tr>
<tr>
  <th><label>Dept</label></th>
  <td><input name="Dept" type="text" id="Dept" size="40"></td>
</tr>
<tr>
  <th><label>Phone</label></th>
  <td><input name="PH1" type="text" id="PH1" size="40"></td>
</tr>
<tr>
  <th><label>Other Phone</label></th>
  <td><input name="PH2" type="text" id="PH2" size="40"></td>
</tr>
<tr>
  <th><label>Email</label></th>
  <td><input name="Email" type="text" id="Email" size="40"></td>
</tr>
<tr>
  <th><label for="ProfileImg">Photo</label></th>
  <td><input name="ProfileImg" type="file" multiple id="ProfileImg" form="addProfile">
   </td>
     </tr>
    <tr>
    <th valign="top"><label class="biotextTitle">Bio/Info</label></th>
     <td><textarea name="bioLinks" cols="55" rows="25" id="bioLinks" placeholder="Paste Bio/Links here..."></textarea></td>
   </tr>
      <tr>
        <th><label class="Keywords">Keyword</label></th>
     <td>
    <?php include 'db.php'; 

         $sql = mysqli_query($con,"SELECT * FROM addKeywordTable ORDER BY Keyword_Name ASC");

         foreach ($_POST['keyword'] as $keyword) {
               if ($keyword) {
            // $keyword is a selected keyword
          }
        } 

         while ($row = mysqli_fetch_array($sql))
          {
         $key = $row['Keyword_Name'];
         $id = $row["keyID"];


         print <<<HERE
          <input type="checkbox" name="keyword[$key]" id="$key">$key<br />
         HERE;
          }
       ?> 
         </td>
      </tr>
   <tr>
     <th><label class="tags">Tags</label></th>
       <td><input name="Tags" type="text" id="Tags" size="40"></td>
   </tr>
   <tr>
     <th><input name="SaveBtn" type="submit" id="SaveBtn" formaction="insertProfile.php" formmethod="POST" value="Save"></th>
        <td></td>
          </tr>
            </table>
         <br />
      </fieldset>
    </form>
   </div>
4

2 に答える 2

0

これを変える -

print <<<HERE
<input type="checkbox" id="$key">$key<br />
   HERE;

これに

echo "<input type='checkbox' id='tag_$id'>$key<br />";

これを行う理由は、数値のみを使用してすべての文字の組み合わせを排除するためです。EXのキャラコンボ。id="Ava/フライト", id="Ava フライト"

于 2013-08-14T18:05:42.573 に答える