Bonjour,
voilà je suis à la recherche de la meilleure méthode pour supprimer une ligne entière dans une table avec du jQuery.
J'ai trouvé différent tutos mais je ne suis pas très alaise avec les scripts.
Je vous mets le code que j'utilise mais qui est efficace que pour une suppression à l'écran mais pas dans la base. Dès qu'on réactualise la page, la ligne est toujours là.
Dans le header
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('table#delTable td a.delete').click(function()
{
if (confirm("Etes-vous sûr de vouloir supprimer cet élément ?"))
{
var id = $(this).parent().parent().attr('id');
var data = 'id=' + id ;
var parent = $(this).parent().parent();
$.ajax(
{
type: "post",
url: "delete_row.php",
data: data,
cache: false,
success: function()
{
parent.fadeOut('slow', function() {$(this).remove();});
}
});
}
});
// style the table with alternate colors
// sets specified color for every odd row
$('table#delTable tr:odd').css('background',' #f5f5f5');
});
</script>
dans body j'ai créé un tableau
$query="SELECT * FROM $table_users, $table_porfolio, $table_porfolio_user WHERE id='$the_id' && $table_porfolio.id_user='$the_id' && $table_porfolio_user.id_porfolio=$table_porfolio.id_porfolio";
// affiche les infos des tables (users, porfolio et porfolio_user)
$result=mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error());
if ($result)
{
// affichage du tableau de ce qui existe
echo "<table id=delTable width=96% cellpadding=3 cellspacing=0 align=center>";
echo "<tr><td><h6>ID</h6></td>";
echo "<td><h6>Description</h6></td>";
echo "<td><h6>Action</h6></td></tr>";
while($ligne=mysql_fetch_array($result))
{
/////// $table_porfolio
$id_porfolio=$ligne"id_porfolio"];
/////// $table_porfolio_user
$id_poruser=$ligne"id_poruser"];
$url=$ligne"url"];
$dossier=$ligne"dossier"];
$image=$ligne"image"];
$type=$ligne"type"];
$description=$ligne"description"];
$confidentiel=$ligne"confidentiel"];
echo "<tr id='$id_poruser'><td valign=top style=text-align:center>$id_poruser</td>";
echo "<td>";
if (!empty($url)) { echo "<img src=http://www.easy-thumb.net/min.html?url=$url&size=160x120>";}
if (!empty($image)) { echo "";}
echo "</td>";
echo "<td valign=top><h6>$type</h6>$description</td>";
echo "<td valign=top style=text-align:center>";
if ($confidentiel==1) { echo "Oui";}
if ($confidentiel==0) { echo "Non";}
echo "</td>";
echo "<td valign=top style=text-align:center><a href=\"#\" class=\"delete\"><img border=\"0\" src=\"img/delete.png\" /></a></td></tr>";
}
echo "</table>";
}
et la page "delete_row.php"
if(isset($_POST'delete'])) { // Si supprimer
$result = mysql_query("DELETE FROM $table_porfolio_user WHERE id_poruser = ".(int)$_POST'delete']);
$query1="OPTIMIZE TABLE $table_porfolio_user";
$result1=mysql_query($query1) or die('Erreur SQL !<br>'.$query1.'<br>'.mysql_error());
}
Est-ce que quelqu'un peut m'apporter des lumières car je ne suis pas douée avec jQuery mais j'aimerais bien comprendre mon erreur.
Chose que je ne souhaite pas c'est envoyer l'info en $_GET dans l'url de la page.
Merci par avance de votre aide.