2013-08-08 3 views
0

mysqli를 사용하여 데이터베이스를 만들었으며 "키워드"라는 테이블에 키워드가 저장되어 있습니다. 이 표에 저장된 키워드를 사용하여 양식의 옵션으로 확인란 형태로 표시해야합니다.DB에서 확인란 키워드로 키워드 표시

키워드에 키워드가 추가되지 않은 경우 사용자가 선택할 수있는 양식의 확인란이 표시되지 않습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까? 내 SQL 지식은 기본이지만 쿼리가 어떻게 보일지에 대한 아이디어를 가질 수 있습니다. 확인란으로 표시하는 방법에 대해 잘 모르겠습니다.

업데이트 업데이트 업데이트! 내가 체크 박스에 표시 내 배열을 얻을 수있었습니다 : 내가 무슨 짓을했는지 여기에 있습니다 :

NOW
<?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) 완전히 별도의 테이블에 떨어져 체크 값을 전달하려면 어떻게 양식 결과가 포함되어 있습니까?

내 양식 코드는 다음과 일 (금 8/9/13)를 찾습니다

<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> 
+1

PHP를 사용하여 HTML 양식을 만드는 방법에 대한 기본 코드를 작성 했습니까? – Maximus2012

+0

나는 내 자신의 질문에 대답 한 것처럼 보입니다 : $
을 사용하여 제 배열을 받았습니다 ... 위의 질문에 (코드)를 추가했습니다 . 확인란을 선택하면 어떻게 새 테이블에이 옵션을 전달합니까? – MizAkita

+0

양식을 처리하기 위해 추가 논리를 작성해야합니다. 너와 함께 있니? 또한이 작업이 무엇인지 잘 모르겠습니다. print <<< 여기 여기; 또는 필요한 경우. – Maximus2012

답변

0

당신은 당신의 체크 박스에 name를 추가 할 수 있습니다 :

<input type="checkbox" name="keyword[$key]" value="1">$key<br /> 

가 이렇게 페이지가 제출 될 때 선택한 키워드를 반복하면됩니다.

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

그런 다음 선택한 모든 키를 가져올 수 있습니다. 단어를 입력하면 테이블에 삽입됩니다.

+0

) foreach ($ _POST [ 'keyword'] $ 키워드)는 내 insertPage.php 또는 내 키워드 양식에 들어갈 수 있습니다. 내 값 '$ _POST [keywordName]' – MizAkita

+0

양식이 리디렉션되는 페이지로 이동할 수 있습니다. 선택한 키워드를 사용하고 나면 원하는 것을 확실히 알 수 없습니다 ... – lsouza

+0

시도 중입니다. db에 키워드를 저장하려면 ...하지만 catch는 키워드가 다른 테이블에 의해 채워지는 것입니다 ... 별도의 테이블에 선택된 키워드를 저장해야합니다. – MizAkita

0

변경이 -

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

이 일이

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

이유에 당신이 단지 숫자 만 사용하여 모든 문자 조합을 제거 그렇다. EX를위한 문자 조합. id = "Ava/Flight", id = "Ava Flight"