2014-01-29 84 views
0

我通過AJAX從php文件生成表格並在html頁面上顯示它。 我希望能夠編輯一行並將某些值更改爲我的數據庫。雖然我爲每個<tr>製作一個表單,但它似乎不起作用,並且在提交時什麼都不做。 (我知道這可能不是接近這一目標的最佳途徑。任何建議,將不勝感激。)表格不會在表格內工作

PHP代碼

if($_GET['function']=="editteam") 
{ 
    $sql=mysql_query("SELECT * FROM tbl_Team") 
    or die(mysql_error()); 

    echo '<table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>'; 
    while($row=mysql_fetch_array($sql)) 
    { 
     echo '<tr>'; 
     echo '<td>'.$row['team_name'].'</td>'; 
     echo '<td>'.$row['team_location'].'</td>'; 
     echo '<td><button class="shownextrow">Edit</button></td>'; 
     echo '</tr>'; 
     echo '<form action="editteam.php" method="post">'; 
     echo '<tr style="display:none" bgcolor="#FF0000">'; 
     echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>'; 
     echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>'; 
     echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>'; 
     echo '</tr>'; 
     echo '</form>'; 

    }  
    echo '</table>'; 

} 

JS以顯示下一行(上點擊編輯之一)

$(function() { 
    $('.editteam').on('click', '.shownextrow', function() { 
     $(this).closest("tr").next().show(); 
    }); 
}); 
+1

你應該把你的形式在'​​形式在這裏' –

+0

你應該把表單的表格'

之外。 ..
' –

+0

或者你可以使用jQuery的ajax。 –

回答

0

試試這個

if($_GET['function']=="editteam") 
{ 
    $sql=mysql_query("SELECT * FROM tbl_Team") 
    or die(mysql_error()); 

    echo '<table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>'; 
    while($row=mysql_fetch_array($sql)) 
    { 
     echo '<tr>'; 
      echo '<td>'.$row['team_name'].'</td>'; 
      echo '<td>'.$row['team_location'].'</td>'; 
      echo '<td><button class="shownextrow">Edit</button></td>'; 
     echo '</tr>'; 

     echo '<tr style="display:none" bgcolor="#FF0000">'; 
      echo '<td colspan="3">'; 
       echo '<form action="editteam.php" method="post">'; 
        echo '<table>'; 
        echo '<tr>'; 
         echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>'; 
         echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>'; 
         echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>'; 
        echo '</tr>'; 
        echo '</table>'; 

       echo '</form>'; 
      echo '</td>'; 
     echo '</tr>'; 


    }  
    echo '</table>'; 

} 

編輯:缺少一個/

+0

這應該讓我走,它只顯示數據庫和其他人的第一個結果點擊,但我會努力解決這個問題。謝謝 – LefterisL

+0

其中一個表沒有正確關閉。應該是''。 工程就像一個魅力。 – LefterisL

+0

@TerisL感謝您的更新 –

1

這將修復它,將表格放在表格之外。

if($_GET['function']=="editteam") 
{ 
    $sql=mysql_query("SELECT * FROM tbl_Team") 
    or die(mysql_error()); 

    echo '<form action="editteam.php" method="post"><table border="1"><thead><tr><th>Team Name</th><th>Location</th><th>Edit</th></tr></thead>'; 
    while($row=mysql_fetch_array($sql)) 
    { 
     echo '<tr>'; 
     echo '<td>'.$row['team_name'].'</td>'; 
     echo '<td>'.$row['team_location'].'</td>'; 
     echo '<td><button class="shownextrow">Edit</button></td>'; 
     echo '</tr>'; 
     echo '<tr style="display:none" bgcolor="#FF0000">'; 
     echo '<td><input type="text" name="team_name" value="'.$row['team_name'].'"></td>'; 
     echo '<td><input type="text" name="team_location" value="'.$row['team_location'].'"></td>'; 
     echo '<td><input type="hidden" name="team_id" value="'.$row['team_id'].'"><input type="submit" value="Ok"></td>'; 
     echo '</tr>'; 

    }  
    echo '</table></form>'; 

} 
+0

我想如果這並試圖它,但當我點擊編輯按鈕來顯示下一行它需要它作爲提交我猜,並讓我editteam.php – LefterisL

+0

更改「shownextrow」按鈕類型,但現在仍然返回並顯示錶格的最後一個tr被打印出來 – LefterisL

+0

這是一個單獨的問題。使用jquery來幫助解決這個問題。 '$(「form button」)。click(function(e){e.preventDefault());' –