Witam serdecznie,
mam oto taki problem:
skrypty poniżej ( pochodzący z http://designconcept.webdev20.pl/articles/ajaxowy-system-edycji-danych/ ) wyświetlają po drobnych przeróbkach z mojej bazy status użytkownika czyli 1 albo 0-odpowiednio aktywny,nieaktywny.Jako że nie znam się w ogóle na js proszę o pomoc w przerobieniu tego tak aby były dwa przyciski aktywuj i deaktywuj(w zależności który potrzebny) i po kliknięciu ich podmieniało wartość w bazie na przeciwną czyli z 1 na 0 i odwrotnie.Bardzo serdecznie proszę o pomoc.Jakieś porady,nakierowanie wszystko co może pomóc nieznającemu js.pozdrawiam
index.php
<body>
<?php
define('DB_HOST','localhost');
define('DB_USER','user');
define('DB_PASS','pass');
define('DB_NAME','system_newsow');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASS,true);
$select_db = mysql_select_db(DB_NAME,$con);
if($select_db)
{
mysql_query("SET NAMES utf8",$con);
}
else
{
die('Nie mozna sie polaczyc z baza danych ');
}
$query = "SELECT * FROM user";
$result = mysql_query($query,$con);
if($result===false && trim(mysql_error($con)))
{
echo("Błędne zapytanie: \n");
}
while($row = mysql_fetch_assoc($result))
{
$out[]=$row;
}
echo '<table id="tab">
<tr><th>Id</th><th>Stasus</th><th>Treść</th><th>Akcje</th></tr>';
foreach($out as $art)
{
echo '<tr>';
echo '<td>'.$art['id'].'</td>';
if($art['status']==1){
echo '<td>"aktywny"</td>';
}else
{
echo '<td>"nieaktywny"</td>';
}
//echo '<td>'.htmlspecialchars($art['status'],ENT_QUOTES).'</td>';
// echo '<td>'.htmlspecialchars($art['tresc'],ENT_QUOTES).'</td>';
echo '<td><form method="post"><input type="hidden" name="id" value="'.$art['id'].'" /><input class="sub" type="submit" value="Edytuj" /></form>
<form method="post" action=""><input type="hidden" name="id" value="'.$art['id'].'" /><input class="del" type="submit" value="" title="Usuń" /></form></td>';
echo '</tr>';
}
echo '</table>
<form action="" method="post" id="add_form">
<label>Tytuł:</label><input type="text" name="tytul" value="" /><br />
<label>Treść:</label><input type="text" name="tresc" value="" /><br />
<input class="sub2" type="submit" value="Dodaj" />
</form>';
?>
</body>
edit.php
<?php
if(isset($_POST['status']) && isset($_POST['id']))
{
define('DB_HOST','localhost');
define('DB_USER','user');
define('DB_PASS','pass');
define('DB_NAME','system_newsow');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASS,true);
$select_db = mysql_select_db(DB_NAME,$con);
if($select_db)
{
mysql_query("SET NAMES utf8",$con);
}
else
{
die('Nie mozna sie polaczyc z baza danych ');
}
$tytul = mysql_real_escape_string($_POST['status']);
//$tresc = mysql_real_escape_string($_POST['tresc']);
$id = intval($_POST['id']);
$query = "UPDATE user SET status = '$tytul'";
$result = mysql_query($query,$con);
echo json_encode(array('status'=>$_POST['status']));
}
?>
custom.js
$(document).ready(function() {
$('input.sub').live('click',function(){
var id_art = $(this).parent().find('input[type=hidden]').val();
var title = $(this).parent().parent().parent().find('td:eq(1)').text();
// var content = $(this).parent().parent().parent().find('td:eq(2)').text();
var a = $('<div/>', {
class: 'box',
html: '<form action="" method="post"><input type="hidden" name="id" value="'+id_art+'" /><label>Tytuł:</label><input type="text" name="status" value="'+title+'" /><br /><label>Treść:</label><input type="text" name="tresc" value="'+content+'" /><br /><input class="sub2" type="submit" value="Edytuj" /></form>'
});
var thi = $(this).parent();
var next_thi = thi.next();
$(this).parent().parent().append(a);
$(this).parent().remove();
a.find('form').submit(function(){
$.post('edit.php', $(this).serialize(), function(dane) {
dane = eval('('+dane+')');
tr = a.parent().parent();
tr.find('td:eq(1)').text(dane['status']).css('background-color', 'yellow').animate({
opacity: 1
}, 3000, function() {
$(this).css({'background-color' : '#DFF7FF', 'opacity' : '1'});
});
/* tr.find('td:eq(2)').text(dane['tresc']).css('background-color', 'yellow').animate({
opacity: 1
}, 3000, function() {
$(this).css({'background-color' : '#DFF7FF', 'opacity' : '1'});
}); */
a.remove();
next_thi.before(thi);
});
return false;
});
return false;
});
});