Показать сообщение отдельно
  #1 (permalink)  
Старый 07.01.2014, 06:40
Интересующийся
Отправить личное сообщение для B1ackgh0st Посмотреть профиль Найти все сообщения от B1ackgh0st
 
Регистрация: 07.01.2014
Сообщений: 14

AJAX. редактирование данных в таблице MySQL
Здравствуйте.

Проблема вот в чем. Когда я ввожу новые данные в ячейку они сохраняются, почему то не все. Например я пишу в ячейки 123456 а в базу приходит только 136. Если ввести только одну цыфру например 1, то ни чего не сохранится

ниже код

/*
 *	Редактирование ячеек таблицы
 */
$(function() {
// при нажатии на ячейку таблицы с классом edit
$('td.edit').click(function(){
// находим input внутри элемента с классом ajax и вставляем вместо input его значение
$('.ajax').html($('.ajax input').val());
// удаляем все классы ajax
$('.ajax').removeClass('ajax');
// Нажатой ячейке присваиваем класс ajax
$(this).addClass('ajax');
// внутри ячейки создаём input и вставляем текст из ячейки в него
$(this).html('<input class="span1" id="editbox" size="'+ $(this).text().length+'" value="' + $(this).text() + '" type="text">');
// устанавливаем фокус на созданном элементе
$('#editbox').focus();
});
});

$(function() {
// определяем нажатие кнопки на клавиатуре
$('td.edit').keydown(function(event){
// получаем значение класса и разбиваем на массив
// получаем массив - arr[0] = edit, arr[1] = наименование столбца, arr[2] = id строки
arr = $(this).attr('class').split( " " );
// Если убрали фокус с ячеейки ( кликнули мышкой в другую область)
if(event.which)
{
// получаем наименование таблицы, в которую будем вносить изменения
var table = $('table').attr('id');
 $.ajax({ type: "POST",
 url:"ajax/eddit.php",
// создаём строку для отправки запроса
 data: "value="+$('.ajax input').val()+"&id="+arr[2]+"&field="+arr[1]+"&table="+table,
});
 }});
});
$(function() {
$(document).on('blur', '#editbox', function(){
$('.ajax').html($('.ajax input').val());
$('.ajax').removeClass('ajax');
});
});


<tr>
<td>[_id]</td>
<td>[_name]</td>
<td>[_gost_zav_numb]</td>
<td class="edit units_measurement [_id] input-mini">[_units_measurement]</td>
<td class="edit quarter_1 [_id] input-mini">[_quarter_1]</td>			
<td class="edit quarter_2 [_id] input-mini">[_quarter_2]</td>
<td class="edit quarter_3 [_id] input-mini">[_quarter_3]</td>
<td class="edit quarter_4 [_id] input-mini">[_quarter_4]</td>
<td class="delete" id="[_id]">
<a href="#" alt="Удалить" title="Удалить"><span class="awe-remove"></span></a>
</td>
</tr>

include_once('database.php');

if(isset($_POST['value']))$value = $_POST['value']; // Переданное  значение
if(isset($_POST['id']))$id = $_POST['id']; // ID строки
if(isset($_POST['field']))$field = $_POST['field']; // Столбец таблицы

/*
// Если передали в input пустату
if ($value == '')
{
$value = '0'; // Устанавливаю ноль
}*/
// Меняю запятые на точки
$value = str_replace(",",".",$value);

/*// удаляю все кроме цифр (буквы тире и т.д)
$value = preg_replace('/[^0-9.]/', '', $value);*/
/*
// удаляю нули  в начале строки
$value = ltrim($value, '0');
*/

// Формирую SQL запрос на редактирование
$sql ='UPDATE ordered_equipment SET '.$field.'='.$value.' WHERE id='.$id;

// Выполняю запрос
$result_edd_stroka = mysql_query($sql);


Помогите плиз
Ответить с цитированием