Jquery Text Edit със DB

C++ JAVA
User avatar
Weezy
Нов
Нов
Posts: 85
Joined: Sat Aug 25, 2012 5:21 pm

Jquery Text Edit със DB

Post by Weezy » Thu Feb 14, 2013 8:26 am

Здравейте,

някой може ли сподели това как би могло да стане, поноже на тема jquery съм много гол.
Става на въпрос за това в DB-то имам 1 новина, която я изкарвам в сайта, но за по-лесно реших, че за редактиране ще е с Jquery, но така и не попаднах на качествен и работещ код в интернет или поне аз не успях да го нагодя. Та някой може ли да сподели как би могло да стане да редактирам даденият текст, който се намира в индекса и да се запазва? Smile +1

Jquery код:
[js]
$(document).ready(function() {

$("#save").click(function (e) {
var content = $('#editable').html();

$.ajax({
url: '?m=savenews',
type: 'POST',
data: {
content: content
},
success:function (data) {

if (data == '$id')
{
$("#status")
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
else
{
$("#status")
.addClass("error")
.html("An error occured, the data could not be saved")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
}
});

});

$("#editable").click(function (e) {
$("#save").show();
e.stopPropagation();
});

$(document).click(function() {
$("#save").hide();
});

});
[/js]

Това ми взима новината и изпраща заявка към ?m=savenews

Code: Select all

<div id="wrap">

		<div id="status"></div>
		
		<div id="content">
		
		<div id="editable" contentEditable="true">
		<?php
			//get data from database.
			$id = $_GET&#91;'id'&#93;;
$sql = mysql_query&#40;"SELECT * FROM news ORDER BY id"&#41;;
$row = mysql_fetch_array&#40;$sql&#41;;


echo $row&#91;'new'&#93;;
?>		
		</div>	
		
		<button id="save">Save</button>
		</div>

	</div>
Ето и ?m=savenews, от койт си мисля, че идва и грешката. :)

Code: Select all

<?php

$id = $_GET&#91;'id'&#93;;
	$new = $_POST&#91;'new'&#93;; //get posted data
	$content = mysql_real_escape_string&#40;$content&#41;;	//escape string	
	
	$sql = "UPDATE news SET new = '$new' WHERE id = '$id' ";
	
	if &#40;mysql_query&#40;$sql&#41;&#41;
	&#123;
		echo 1;
	&#125;
?>

User avatar
vasilev
Потребител
Потребител
Posts: 664
Joined: Sat Feb 07, 2009 12:41 pm
Answers: 25
Location: Everywhere
Contact:

Post by vasilev » Thu Feb 14, 2013 11:50 am

заявката подава content .. а в ъпдейт заявката имаш new - което не го подаваш .
също така не подаваш и ID а трябва .

<input type="hidden" id="theid" value="<?php echo $_GET['id'];?>">
<div id="editable" contentEditable="true">

$id= $_POST['theid']; //get posted data
$content = $_POST['content']; //get posted data
$content = mysql_real_escape_string($content); //escape string
$sql = "UPDATE news SET new = '$content' WHERE id = '$id' ";


var theid= $('#theid').val();
var content = $('#editable').html();
.
.
$.ajax({ url: '?m=savenews',
type: 'POST',
data: 'content='+content+'&theid='+theidid, ....

User avatar
deam0n
Web-tourist
Web-tourist
Posts: 3037
Joined: Sat Oct 01, 2005 4:33 pm
Answers: 204
Location: Шопландия
Contact:

Post by deam0n » Thu Feb 14, 2013 12:52 pm

Може да ползваш това

http://code.google.com/p/jquery-in-place-editor/

User avatar
Weezy
Нов
Нов
Posts: 85
Joined: Sat Aug 25, 2012 5:21 pm

Post by Weezy » Thu Feb 14, 2013 2:38 pm

vasilev wrote:заявката подава content .. а в ъпдейт заявката имаш new - което не го подаваш .
също така не подаваш и ID а трябва .

<input type="hidden" id="theid" value="<?php echo $_GET['id'];?>">
<div id="editable" contentEditable="true">

$id= $_POST['theid']; //get posted data
$content = $_POST['content']; //get posted data
$content = mysql_real_escape_string($content); //escape string
$sql = "UPDATE news SET new = '$content' WHERE id = '$id' ";


var theid= $('#theid').val();
var content = $('#editable').html();
.
.
$.ajax({ url: '?m=savenews',
type: 'POST',
data: 'content='+content+'&theid='+theidid, ....
Нещо не се получава, явно скрипта работи, но като дам Save и просто ми вади резултат от скрипта, че не е записано. Явно има нещо някъде.. пробвах ти скрипта, въртях го по всякакви други начини и не иска.. ;x

User avatar
eddyy93
Потребител
Потребител
Posts: 1421
Joined: Mon Jun 06, 2011 10:32 am

с

Post by eddyy93 » Thu Feb 14, 2013 4:31 pm

Също при success функцията:

Това: data == '$id' трябва да стане data == '1' или data == 1

Тъй като при успешна заявка ти връщаш "1".

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1607
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 165
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Thu Feb 14, 2013 5:42 pm

Може да е от кавичките - аз имах подобен проблем - пишех '$ime_na_promenliva' и не ми се получаваше. Като махнах кавичките всичко тръгна. А и една променлива като е в единични кавички ' ако напишеш
echo '$web-tourist.net' , ще ти изкара $web-tourist.net, а не примерно линк.

User avatar
eddyy93
Потребител
Потребител
Posts: 1421
Joined: Mon Jun 06, 2011 10:32 am

а

Post by eddyy93 » Thu Feb 14, 2013 6:17 pm

Анонимен променливата "data" държи echo от файла със заявката. echo връща резултата във success функцията.

User avatar
vasilev
Потребител
Потребител
Posts: 664
Joined: Sat Feb 07, 2009 12:41 pm
Answers: 25
Location: Everywhere
Contact:

Post by vasilev » Thu Feb 14, 2013 7:20 pm

това е моя и работи :

jQuery.ajax({
type: "POST",
url: "/mobile/check.php",
data: 'starttime='+starttime+'&selecteduser='+selecteduser+'&interval='+interval,
cache: false,
success: function(response){
if(response == 1){
$('#min,#date,#hour').css('border', '3px #C33 solid');
$('#tick').hide();
$('#cross').fadeIn();
}else{
$('#min,#date,#hour').css('border', '3px #090 solid');
$('#cross').hide();
$('#tick').fadeIn();
}
}
});


както казаха това $id .. трябва да е 1 защото пост заявката ти връща едно при success .

User avatar
Weezy
Нов
Нов
Posts: 85
Joined: Sat Aug 25, 2012 5:21 pm

Post by Weezy » Sat Feb 16, 2013 8:42 am

Указа се, че кода си работи без грешка, просто нямало, кой да го нагласи като света, но накрая тръгна.. Има само един проблем, вади само 1 резултат, тоест зададено му е ID-1, а примерно ако искам да вкарам 3 резултата, ще искам да вада ID-1, ID-2 и ID-3... мъчих го сумата му време и не иска, и не иска.. :X Примерно да си записва по ID, като само го разпознава, но примерно да си вада което аз реша ID.. :)

Ето го джава скрипта...
[js]
$(document).ready(function() {

$("#save").click(function (e) {
var content = $('#editable').html();

$.ajax({
url: 'save.php',
type: 'POST',
data: {
content: content
},
success:function (data) {

if (data == '1')
{
$("#status")
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
else
{
$("#status")
.addClass("error")
.html("An error occured, the data could not be saved")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
}
});

});

$("#editable").click(function (e) {
$("#save").show();
e.stopPropagation();
});

$(document).click(function() {
$("#save").hide();
});

});

[/js]

Това ми вади резултата
[php]
<?php
//get data from database.
include("db.php");
$sql = mysql_query("select text from content where id='1'");
$row = mysql_fetch_array($sql);
echo $row['text'];
?>
[/php]

това записва резултата
[php]
<?php
include("db.php");
$content = $_POST['content']; //get posted data
$content = mysql_real_escape_string($content); //escape string

$sql = "UPDATE content SET text = '$content' WHERE id = '1' ";

if (mysql_query($sql))
{
echo 1;
}
?>
[/php]

User avatar
vasilev
Потребител
Потребител
Posts: 664
Joined: Sat Feb 07, 2009 12:41 pm
Answers: 25
Location: Everywhere
Contact:

Post by vasilev » Mon Feb 18, 2013 6:10 am

както написах в предишния пост - се подава и ID:


$id= $_POST['theid']; //get posted data
$content = $_POST['content']; //get posted data
$content = mysql_real_escape_string($content); //escape string
$sql = "UPDATE news SET new = '$content' WHERE id = '$id' ";


var theid= $('#theid').val();
var content = $('#editable').html();
.
.
$.ajax({ url: '?m=savenews',
type: 'POST',
data: 'content='+content+'&theid='+theidid, ....


в селекта също слагаш var theid= $('#theid').val();

Post Reply