避免在PHP SQL中重复循环

I have a problem with my code that the result has some duplicate loop.

Here is my code:

 <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" data-iceapw="6">
 <?php for($a=0;$a<5;$a++) {
$sql = "SELECT * FROM personality_question_tbl where personality_question_id in (select personality_question_id from
                                                                        personality_question_type_tbl where
                                                                        personality_id='P01' ) ORDER BY RAND() limit 1" ;
$result = mysql_query($sql); 
while ($row = mysql_fetch_array($result)) {
    extract ($row);
    }
?> 


<table width="200" border="0">
  <tr>
    <td><?php echo $personality_question_id[$a]; ?> </td>
  </tr>
  <tr>
    <td>
      <table width="200">
        <tr>
          <td><label>
            <input type="radio" name="answer" value="1" id="answer_0">
            yes</label></td>
        </tr>
        <tr>
          <td><label>
            <input type="radio" name="answer" value="0" id="answer_1">
            no</label></td>
        </tr>
      </table>
    </td>
  </tr>
 </table>
 </form>
<?php } ?>
<input name="submit" type="submit" value="Go">
<input name="submitted" type="hidden" value="TRUE">
</form>

The problem is I still get the duplicate result in PHP although there are no duplicate data in database...

Your doing a for loop, of course your going to have duplication.. unless I am not understanding your question

remove <?php for($a=0;$a<5;$a++) { and you will solve your duplication