Jquery edit in place and MySQL

  • Автор Автор meco
  • Начална дата Начална дата

meco

Registered
Здравейте колеги,
Изправен съм пред проблем и понеже не съм запознат с JS много реших да помоля за помощ.
PHP script-а ми изглежда така:
PHP:
 <?php
 $sql = "SELECT * FROM `$SiteBase`.`$Table`" ;
 $result = mysql_query($sql, $site_connect);
 while ($vystup = mysql_fetch_array($result)){
   echo "<tr>
   <td>".$vystup["id"]."</td>.
   <td>".$vystup["name"]."</td>
   <td><span class=\"editable\">".$vystup["price"]."</span></td>
  </tr>";
}
?>

Поглеждаме в таблицата и вадим всички записи.
Но искам да приложа функцията Jquery edit in place в полето $vystup["price"] .

Ето го и JS кода за тази функция:

[js]/*
* --------------------------------------------------------------------
* In-place editing system
* by Siddharth S, www.ssiddharth.com, hello@ssiddharth.com
* for Net Tuts, www.net.tutsplus.com
* Version: 1.0, 20.09.2009
* --------------------------------------------------------------------
*/

$(document).ready(function()
{
var oldText, newText;
$(".editable").hover(
function()
{
$(this).addClass("editHover");
},
function()
{
$(this).removeClass("editHover");
}
);

$(".editable").bind("dblclick", replaceHTML);


$(".btnSave").live("click",
function()
{
newText = $(this).siblings("form")
.children(".editBox")
.val().replace(/"/g, """);

$(this).parent()
.html(newText)
.removeClass("noPad")
.bind("dblclick", replaceHTML);
// PHP CODE HERE FOR MYSQL SAVE!!!!
}
);

$(".btnDiscard").live("click",
function()
{
$(this).parent()
.html(oldText)
.removeClass("noPad")
.bind("dblclick", replaceHTML);
}
);

function replaceHTML()
{
oldText = $(this).html()
.replace(/"/g, """);
$(this).addClass("noPad")
.html("")
.html("<form><input type=\"text\" class=\"editBox\" value=\"" + oldText + "\" /> </form><a href=\"#\" class=\"btnSave\">Save changes</a> <a href=\"#\" class=\"btnDiscard\">Discard changes</a>")
.unbind('dblclick', replaceHTML);

}
}
); [/js]

Всичко точно работи си на 100% но искам да запомня промяната в MYSQL базата данни това става лесно с 1 php файл който ще се вика при save. Но на този php файл трябва да му се зададе ID-то на полето което ще edit-ва.

С 2 думи трябва ми начина по който да вкарам променлива id в JS
 
ето ти пример как да вземеш информация
[js]
var test = $("#test").val();
$.ajax({
url: "test.php",
type: "POST",
data: "test="+test,
success: function(result) {}
});
[/js]
и в test.php пишеш echo $_POST['test'] за да провериш дали е станало
и между другото виж тука има готови примери http://www.appelsiini.net/projects/jeditable/default.html
 
UPDATE $table SET `text` = $_POST['test'] where `id` = $_POST['id']
ето така трябва да ми изглежда php файла. Но как да прехвърля и ид-то през js-то до php файла :( Това ми е трудното :(
 

Back
Горе