2014-09-04 45 views
0

這是我的代碼的多個值,使用表upload-dataloginpaper下拉僅示出了單個值我在我的數據庫

<!doctype html> 
    <html><head><meta charset="utf-8"> 
    <title>Untitled Document</title> 
    </head><body> 
    <table border="3"><tr> 
    <th>Paper id</th> 
    <th>Paper Name</th> 
    <th>Reviewer Name</th> 
    <th>Paper Status</th> 
    </tr> 
    <?php $con=mysql_connect("localhost","root",""); 
      mysql_select_db("conferencedb"); 
      $qry="select paperid,papername from paper"; 
      $rs=mysql_query($qry); 

      $qry1="select (`username`) from login where type='reviewer'"; 
      $rs1=mysql_query($qry1); 


      while($row=mysql_fetch_row($rs)) 
      { 
       if($row1=mysql_fetch_row($rs1)) 
       { 

        echo "<tr>"; 
        echo "<td>$row[0]</td>"; 
        echo "<td>$row[1]</td>"; 
        echo "<td><select name='type'> 

只有單個選項可以從上面

     <option value='$row1[0]'>$row1[0]</option> 
        </select></td>"; 
        echo "<td>Pending</td>"; 
        echo "</tr>"; 
       } 
      } 
    ?> 


    </table> 
    <input type="submit"> 
    </body> 
    </html> 

數據庫獲取代碼正在工作,但它只從數據庫中檢索單行:$row1[0]; 當前輸出窗口...我只用 塗料標記區域。

+0

相反的,如果($ ROW1 =和mysql_fetch_row($ RS1))使用,而($ ROW1 =和mysql_fetch_row($ RS1)) – 2014-09-04 12:01:03

+0

paperid和papername是相同的所有表當我添加上面的代碼..沒有改變下拉列表 – 2014-09-04 12:07:25

+0

$行和$ row1有多少記錄? – 2014-09-04 12:16:46

回答

0

mysql_fetch_row取一行1一次一行。

所以,如果你想獲得多行使用

while($row1=mysql_fetch_row($rs1)) 

,而不是

if($row1=mysql_fetch_row($rs1)) 

OR

編輯使用的mysqli

如果你可以切換到庫MySQLi,你可以使用:

<?php $con=mysqli_connect("localhost","root",""); 
      mysqli_select_db("conferencedb"); 
      $qry="select paperid,papername from paper"; 
      $rs=mysqli_query($qry); 

      $qry1="select (`username`) from login where type='reviewer'"; 
      $rs1=mysqli_query($qry1); 


      while($row=mysqli_fetch_row($rs)) 
      { 
       if($row1= mysqli_fetch_all ($rs1, MYSQLI_ASSOC)) 
       { 

        echo "<tr>"; 
        echo "<td>$row[0]</td>"; 
        echo "<td>$row[1]</td>"; 
        echo "<td><select name='type'> 

mysqli_fetch_all將獲取SELECT語句的所有結果行作爲行的陣列。

編輯多個選項INSIDE選擇

而且

echo "<td><select name='type'> 
    <option value='$row1[0]'>$row1[0]</option> 
</select></td>"; 

總會給你一個選擇的標籤。

echo "<td><select name='type'>"; 
foreach($_row1 in $row1){ 
     echo "<option value='$_row1[0]'>$_row1[0]</option>"; 
    } 
     echo "</select></td>"; 
     echo "<td>Pending</td>"; 
     echo "</tr>"; 
    } 
    } 
    ?> 


    </table> 
    <input type="submit"> 
    </body> 
    </html> 
+0

警告:mysqli_fetch_all()期望參數1爲mysqli_result,該資源在C:\ xampp \ htdocs \ conference \ assignforrev中給出。php on line 29 – 2014-09-04 12:36:47

+0

添加了代碼,使用'MYSQLi'來回答 – Vizard 2014-09-04 12:53:06

+0

應用上面的代碼會得到一個錯誤。警告:mysqli_select_db()期望完全2個參數mysqli_fetch_row()期望參數1是mysqli_result – 2014-09-05 04:38:09

0

你可以試試嗎?您在一個循環中使用兩個數組。所以我這樣做

而且,我不知道我們可以像這樣做$ row [0] ['column'],$ row [1] ['column'] ???

 while($row=mysql_fetch_row($rs)) 
     { 
     if($row1=mysql_fetch_row($rs1)) 
     { 

 $count=0; 
     while($row=mysql_fetch_array($rs)) 
     { 
      echo $paperid=mysql_result($rs,$count,'paperid'); 
      echo $papername=mysql_result($rs,$count,'papername'); 
      echo $username=mysql_result($rs1,$count,'username');    
      $count=$count+1; 
相關問題