我已经开发了4个月的网站了,我觉得需要添加一个拖放表,使用ajax来记录mysql数据库中的序列! 我已经完成整个网络,无法找到适合的教程,所以我决定加入它们(教程)。
这就是我提出的:
HTML:
<table cellpadding="0" cellspacing="0" id="tableceleb">
<tr>
<td style="width: 200px; color: #72A836; font-weight: bold; padding-left: auto; padding-right: auto;">Momentos <a href="#" rel="group" id="opener"><img src="images/add.png" title="Inserir Novo Momento!" id="add_momento" /></a></td>
<td id="nome_cantico">Nome do Cântico</td>
<td width="40px"></td>
<td width="40px"></td>
<td></td>
<td style="border-right: 0px;"></td>
</tr>
<tbody>
// Start of the "draggable" table rows
<?php
if (mysql_num_rows($query_escolhas) > 0) {
while ($row = mysql_fetch_array($query_escolhas)) {
$momento = $row['nome'];
echo '<tr id="recordsArray_'.$row['id_momento'].'">';
echo '<td style="width: 200px; font-weight: bold;">'.$momento.' <a href="vercelebracao.php?id='.$id_celebracao.'&remover_mom='.$row['id_momento'].'"><img src="images/fechar.png" height="16" width="16" title="Remover momento!" /></a> </td>';
echo '<td id="nome_cantico_black">'.$row['nome_cantico'].'</td>';
echo '<td><img src="images/ppt1.png" height="32" width="32" title="Mostrar texto para colar para o ppt."/></td>';
if ($row['pdf'] === 'N') {
echo '<td width="32px"></td>';
} else{
echo '<td><img src="images/pdf.png" height="32" width="32" title="Mostrar pdf."/></td>';
}
echo '<td><a href="#" class="addcantico_momemnto_bot" title="Adicionar Cântico!">Adicionar</a></td>';
echo '<td style="border-right: 0px;"><a href="#" class="addcantico_momemnto_botgrey" title="Remover Cântico!">Remover</a></td>';
echo '</tr>';
}
}
?>
</tbody>
</table>
使用Javascript:
$(document).ready(function(){
$(function() {
$("#tableceleb tbody").sortable({ opacity: 0.9, cursor: 'move', axis: 'y', update: function() {
var order = $(this).sortable("serialize") + '&action=updateRecordsListings&celeb=<?php echo $id_celebracao ?>';
$.post("updateDB.php", order);
}
});
});
});
注意:$ id_celebracao是我们用来识别它对应的table_id的行之一。
然后我们有updateDB.php,它对应于处理ajax部分的文件:
<?php
require("host.php");
$action = mysql_real_escape_string($_POST['action']);
$updateRecordsArray = $_POST['recordsArray'];
$id_celebracao = $_POST['celeb'];
if ($action === "updateRecordsListings"){
$listingCounter = 1;
foreach ($updateRecordsArray as $order=>$recordsArray) {
$query = "UPDATE escolhas SET ordem =$listingCounter WHERE id_momento = $recordsArray AND id_celebracao=$id_celebracao";
mysql_query($query) or die('Error, insert query failed');
$listingCounter = $listingCounter + 1;
}
} ?&GT;
最后我们在下面的方案中提供并解释了db表'escolhas':
结论:它不起作用。我真的需要你的帮助,因为它是我正在开发的网络应用程序的基本部分!
希望长篇文章不会打扰你!
此外,我不是PHP的新手,我知道mysql函数将在不久的将来被弃用,但它与项目无关。另外,这是我第一次使用Jquery和ajax!