Sveiki, ištrynus įrašą iš MySQL AJAX pagalba db noriu panaikinti ištrintą eilutę, tačiau niekaip man nepavyksta to padaryti.
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function() { $("a[id^='trinti']").click(function() { var numrow = $(this).attr("id"); numrow = numrow.substr(6); var eil = 'id=' + numrow; $.ajax({ type: 'POST', url: 'trinti.php', data: eil, success: function() { numrowas = "#row"+numrow; $(numrowas).fadeOut(2000); } }); }); }); </script> <?php require_once('db.php'); if (isset($_GET['list'])) { $query = "SELECT * FROM zinutes"; mysql_query("SET NAMES 'UTF8'"); $uzklausa=mysql_query($query); $i = 1; while($lauk = mysql_fetch_array($uzklausa)){ $r = $lauk['id']; echo '<div id="row$r">'.$i++.'. Vardas: '.$lauk['vardas'].' žinutė: '.$lauk['zinute'].'<a href="#" id="trinti'.$r.'">Delete broker</a></div>'; } } ?>
Labai blogai:
numrow = numrow.substr(6);
Geriau:
var id = $(this).attr("id").replace('row',''); // Tiksliai neatsimenu
Kitas dalykas, pamirsk ta metoda "ajax", jis reikalingas visai kitiems dalykams (ta prasme, kai naudojama daugiau parametru ar norima gauti smulki informacija), tavo atveju per akis, metodo "post":
$.post("trinti.php",{"id":id},function(data) {
$("#row" + id).fadeOut(2000).remove();
});
Nenaudok tik fadeOut(), nes ateityje gausi memoryleak 100%. Geriau paslepes elementa, ji ir istrink.
P.S.
Jei neveiks, sorry (pasibandyk pats, ant kelio uzvedziau). Kodas rasytas inline, tad net nebandytas ir net nezinau ar teisingai viskas parasyta.