2016-04-27 67 views
-3

我有一個php代碼添加/刪除新行(tr)到html表格。一列(td)有文本字段,第二列(td)有一個下拉列表。下拉菜單是enter image description here mysql表。 第一行(tr)值正確。但是dropdonwn列表爲空當我添加新行(TR)值沒有出現在下拉列表中

代碼:

<html> 
    <head> 
     <title></title> 
     <style type="text/css"> 
      input { 
       display: block; /* makes one <input> per line */ 
      } 
     </style> 
    </head> 
    <?php 
    include 'dbconnection\dbconnection.php'; // Database connection 

    $count=1; 
    if(isset($_POST['btnadd']) == "ADD NEW ITEM") { 
     // add 1 to the row counter 
     if (isset($_POST['count'])) $count = $_POST['count'] + 1; 
     // set value for first load 
     else $count = 1; 
    } 

    if(isset($_POST['btnremove']) == "DELTE ITEM") { 
     // decrement the row counter 
     $count = $_POST['count'] - 1; 
     // set minimum row number 
     if ($count < 1) $count = 1; 
    } 
    ?> 
    <body> 
     <!-- call same file on submit --> 
     <form name="form1" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
      <?php 
      $cdquery="select cmc_id,cmc_name from cat_main_category"; 
      $result2=mysqli_query($conn,$cdquery) or die(mysqli_error()); 
      echo '<table>'; 
       // print $count rows 
       for ($i=1; $i<=$count; $i++) { 
        echo ' <tr> <td>  <input type="text" name="text'.$i.'" align="center"> </td>'; 
        echo '<td> <select id="basicgroup'.$i.'" name="basicgroup'.$i.'" onchange=reload(this.form)>'; 
        echo '<option value=0>Select</option>'; 

        while ($row=mysqli_fetch_array($result2)) { 
         $cdTitle=$row["cmc_name"]; 
         $id=$row["cmc_id"]; 
         //if([email protected]$basicgroup){ 
         echo "<option selected value=$id> 
         $cdTitle 
         </option>"; 
         /*} 
         else{echo "<option value=$id> 
         $cdTitle 
         </option>""."<BR>";;*/ 
        } 
        echo '</select></td></tr> ';  
       }  
       ?> 
      </table> 

      <!-- you only need one set of buttons and only one counter for this script 
      because every button would do the same --> 
      <input type="submit" name="btnadd" id="btnadd" value="ADD NEW ITEM" > 
      <input type="submit" name="btnremove" id="btnremove" value="DELETE ITEM"> 
      <input type="hidden" name="count" value="<?php echo $count; ?>"> 
     </form> 
    </body> 
</html> 
+0

嘗試重寫你的問題。更具體,更簡潔! –

回答

1

後您執行MySQL查詢: $結果2 = mysqli_query($康恩,$ cdquery)或死亡(mysqli_error( ));

保存像數組中的結果:

$categories = []; 
while ($row=mysqli_fetch_array($result2)) { 
    $categories[$row["cmc_id"]] = $row["cmc_name"] 
} 

然後在你的主循環:

for ($i=1; $i<=$count; $i++) { 
    echo ' <tr> <td>  <input type="text" name="text'.$i.'" align="center"> </td>'; 
    echo '<td> <select id="basicgroup'.$i.'" name="basicgroup'.$i.'" onchange=reload(this.form)>'; 
    echo '<option value=0>Select</option>'; 
    foreach ($categories as $id => $cdTitle) { 
     echo "<option selected value=$id> 
       $cdTitle 
      </option>"; 
    } 
    echo '</select></td></tr>'; 
} 

你目前的問題是在第一次迭代你mysqli_fetch_array和第二選擇耗盡你的MySQL查詢是空的

+0

它的工作原理。謝謝 – Jaseer

0

更改

<?php 
$cdquery="select cmc_id,cmc_name from cat_main_category"; 
$result2=mysqli_query($conn,$cdquery) or die(mysqli_error()); 
echo '<table>'; 
    for ($i=1; $i<=$count; $i++) { 
     echo '<tr><td><input type="text" name="text'.$i.'" align="center"></td>'; 
     echo '<td><select id="basicgroup'.$i.'" name="basicgroup'.$i.'" onchange=reload(this.form)>'; 
     echo '<option value=0>Select</option>'; 
     while ($row=mysqli_fetch_array($result2)) { 
      $cdTitle=$row["cmc_name"]; 
      $id=$row["cmc_id"]; 
      echo "<option selected value=$id>$cdTitle</option>"; 
     } 
     echo '</select></td></tr>';  
    }  
    ?> 
</table> 

<?php 
echo '<table>'; 
    for ($i=1; $i<=$count; $i++) { 
     $cdquery="select cmc_id,cmc_name from cat_main_category"; 
     $result2=mysqli_query($conn,$cdquery) or die(mysqli_error()); 
     echo '<tr><td><input type="text" name="text'.$i.'" align="center"></td>'; 
     echo '<td><select id="basicgroup'.$i.'" name="basicgroup'.$i.'" onchange=reload(this.form)>'; 
     echo '<option value=0>Select</option>'; 
     while ($row=mysqli_fetch_array($result2)) { 
      $cdTitle=$row["cmc_name"]; 
      $id=$row["cmc_id"]; 
      echo "<option selected value=$id>$cdTitle</option>"; 
     } 
     echo '</select></td></tr>';  
    }  
    ?> 
</table> 

說,

$cdquery="select cmc_id,cmc_name from cat_main_category"; 
$result2=mysqli_query($conn,$cdquery) or die(mysqli_error()); 

for循環。