Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158

Ajax редактирование записи таблицы

20.03.2018, 06:06. Показов 4366. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста сделать редактирование записи,вывожу данные записи из таблицы в форму с id="bay",а как сделать чтобы при вводе новых данных по клику кнопки с id="add" данные сохранялись не понимаю.
JavaScript
1
2
3
4
5
6
7
8
9
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    return false;
});

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form id="bay" method="post" action="search2.php">
  <div class="form-group">
    <label for="name">Имя</label>
    <input type="text" class="field1" id="name"  name="name"  placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <label for="email">Почта</label>
    <input type="email" class="field2" id="email" name="email" placeholder="Ваша почта" required>
  </div>
  <div class="form-group">
    <label for="bilet">Номер билета</label>
    <input type="text" class="field3" id="bilet" name="bilet" readonly>
  </div>
  <div class="form-group">
    <label for="stoimost">Стоимость</label>
    <input type="text" class="field4" id="stoimost" name="stoimost" value="руб" readonly>
    
  </div>
 
  <button name="add" type="submit" class="field5" >Купить</button> 
   <button type="submit" class="field6" >Забронировать</button>
 
</form>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2018, 06:06
Ответы с готовыми решениями:

Ajax-редактирование строки таблицы при нажатии
в общем надо сделать редактирование выбранной строки, я выбираю строку нажимаю на ней кнопку и данные которые есть в нужных ячейках...

Редактирование записи в бд
Доброго времени суток. Стоит задача создания панели управления сайтом, так вот собственно и вопрос: Как производить редактирование записи с...

Редактирование записи по ID
у меня вот тожеж проблема, я уже все мозги себе проел, мб подскажете что я не так делаю? надо редактировать запись в бд по ид, а у меня...

48
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
20.03.2018, 06:43
kikaa, вот это не понял к чему вообще)
JavaScript
1
2
3
4
5
6
7
8
9
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    return false;
});
а для сохранения через ajax можно сделать так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    var $form = $('#bay');
    var formdata = new FormData($that.get(0)); //Все поля формы
    $.ajax({
        url: $form.attr('action'), //Куда отправляется ajax
        type: $form.attr('method'), //С помощью какого метода
        contentType: false, //отключаем формат передачи данных, по умолчанию application/x-www-form-urlencoded
        processData: false, //Отключаем преобразование данный в строку
        data: formdata,
        success:function(data){
            console.log(data);
        }
    })
})
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
20.03.2018, 07:16  [ТС]
По нажатию выдает ошибку,предыдущие ajax работают.
Миниатюры
Ajax редактирование записи таблицы  
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
20.03.2018, 09:49
$that либо нужно объявить от $this или лучше юзать сам $this
JavaScript
1
var $that = $(this); // var that = this;
JavaScript
1
2
// не знаю как вам, но по мне приятнее serialize(),  хотя учитывая $form.attr('action') можно и отказаться :)
var formdata = $('#form').serialize();
а вот это вот:
JavaScript
1
$(this).data('bilet');
не будет работать, т.е я не вижу у вас дата-атрибута bilet, а он ищет data-bilet
тогда уж:
JavaScript
1
$(this).attr('bilet');
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
20.03.2018, 10:40  [ТС]
Поменял,но новые данные так и не заносятся в бд,в консоли вместо ошибки теперь весь код страницы с формой,что не так?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    $(this).attr('bilet');
    console.log(stoimost);
    console.log(id_bileta);
    console.log(name);
    return false;
});
 
 
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    var $form = $('.bay');
    var formdata = $('#form').serialize(); //Все поля формы
     
    $.ajax({
        url: $form.attr('action'), //Куда отправляется ajax
        type: $form.attr('method'), //С помощью какого метода
        contentType: false, //отключаем формат передачи данных, по умолчанию application/x-www-form-urlencoded
        processData: false, //Отключаем преобразование данный в строку
        data: formdata,
        success:function(data){
            console.log(data);
        }
    })
})
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
20.03.2018, 10:57
HTML5
1
<form id="bay" method="post" action="search2.php">
кажется у вас путаница с идентификаторами:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
            console.log(data);
        }
    })
 
/*
$.post('search2.php', $( "#bay" ).serialize())
  .success(function(data) { 
     console.log(data);
  })
*?
и все же мне кажется лучше убирать action и method из формы, если человек отключит JS, он же будет отправлять форму непосредственно по этим параметрам

А вот это я не понимаю зачем
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    $(this).attr('bilet');
    console.log(stoimost);
    console.log(id_bileta);
    console.log(name);
    return false;
});
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
20.03.2018, 11:12  [ТС]
Это нужно,чтобы у меня отображалось на формы стоимость билета и его номер - берётся из бд,а пользователю оставалось ввести только name,email.А а search2.php что у меня должно быть?
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
20.03.2018, 11:24
kikaa, а что у вас там есть?
Цитата Сообщение от kikaa Посмотреть сообщение
search2.php что у меня должно быть
там должно быть сохранение в бд

Цитата Сообщение от FloppyDisc Посмотреть сообщение
$this или лучше юзать сам $this
очепятался
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
20.03.2018, 12:13  [ТС]
Пишет "информация в базу не добавлена" не понимаю ,где косяк
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
  $db = mysql_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
 
    mysql_select_db("table3",$db);
 
 if ( isset($_POST['stoimost'])  ) { $stoimost=$_POST['stoimost'];  }
 if ( isset($_POST['name'])  ) { $name=$_POST['name'];  }
 if ( isset($_POST['email'])  ) { $email=$_POST['email'];  }
 
 
  
  $result=mysql_query("INSERT INTO table3 (stoimost, name, email) VALUES
  ('$id_bileta', '$stoimost', '$name', '$email')" ,$db);
  
 
  
  if ($result=='true')
  {
      echo "Информация в базу добавлена <br /> <br /><a href='konf.php'>
      Просмотреть список участников</a> <br/> ";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена";
  }
 
 
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    var $form = $('.bay');
    var formdata = $('#form').serialize(); //Все поля формы
     
    $.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
            console.log(data);
        }
    })
})
Добавлено через 20 минут
Хотя мне же обновить нужно,поменял search2.php,но всё равно пишет ,что не добавлено
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
  $db = mysql_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
 
    mysql_select_db("table3",$db);
 if ( isset($_POST['id_bileta'])  ) { $id_bileta=$_POST['id_bileta'];  }
 if ( isset($_POST['stoimost'])  ) { $stoimost=$_POST['stoimost'];  }
 if ( isset($_POST['name'])  ) { $name=$_POST['name'];  }
 if ( isset($_POST['email'])  ) { $email=$_POST['email'];  }
 
 
 
  $result=mysql_query("UPDATE `table3` SET name='$name', email='$email' WHERE `id`=$id_bileta ");
  
 
  
  if ($result=='true')
  {
      echo "Информация в базу добавлена";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена";
  }
 
 
?>
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
20.03.2018, 16:02
kikaa,
JavaScript
1
 var formdata = $('#form').serialize(); //Все поля формы
эта строка лишняя

и похоже у тебя не все данные приходят просто
PHP
1
2
3
4
5
6
7
8
9
10
if ($result=='true')
  {
      echo "Информация в базу добавлена";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена";
      die(mysql_error()); //отображение ошибок mysql
  }
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
21.03.2018, 03:19  [ТС]
И что делать в такой ситуации?
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
21.03.2018, 06:24
kikaa, как минимум проверить приходят ли переменные,
еще раз запустить скрипт и посмотреть ошибку
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
21.03.2018, 09:05  [ТС]
Да вроде уже всё на "100" раз проверил,не понимаю,что не так,может кто-нибудь из вас,что заметит,вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form id="bay" method="post" action="search2.php"> 
      <div class="form-group">
    <label for="name">Имя</label>
    <input type="text" class="field1" id="name"  name="name"  placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <label for="email">Почта</label>
    <input type="email" class="field2" id="email" name="email" placeholder="Ваша почта" required>
  </div>
  <div class="form-group">
    <label for="bilet">Номер билета</label>
    <input type="text" class="field3" id="bilet" name="bilet" readonly>
  </div>
  <div class="form-group">
    <label for="stoimost">Стоимость</label>
    <input type="text" class="field4" id="stoimost" name="stoimost" value="руб" readonly>
  </div>
  <button name="add" id="add" type="submit" class="field5" >Купить</button> 
   <button type="submit" class="field6" >Забронировать</button>
</form>
ajax:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    var $form = $('.bay');
 
    $.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
            console.log(data);
        }
    })
    })
search2.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
  $db = mysql_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
    
 if ( isset($_POST['id_bileta'])  ) { $id_bileta=$_POST['id_bileta'];  }
 if ( isset($_POST['stoimost'])  ) { $stoimost=$_POST['stoimost'];  }
 if ( isset($_POST['name'])  ) { $name=$_POST['name'];  }
 if ( isset($_POST['email'])  ) { $email=$_POST['email'];  }
 
  $result=mysql_query("UPDATE `table3` SET name='$name', email='$email' WHERE `id`=$id_bileta ");
  
 
  if ($result=='true')
  {
      echo "Информация в базу добавлена";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена";
  }
 
 
?>
Миниатюры
Ajax редактирование записи таблицы  
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
21.03.2018, 13:10
Ну можно начать с того, как уже говорили,
PHP
1
print_r($_POST);
и скорее всего вы заметите, что нет такого элемента, как $_POST['id_bileta'] => $_POST['bilet'];, а потом зачем эти проверки, ни же ничего не дают, поэтому вы и не видите ошибку:
PHP
1
2
3
4
5
if (isset($_POST['bilet'] && isset($_POST['stoimost']) && ...){
   save();
} else {
   echo 'All fields are required!';
}
Добавлено через 1 минуту
PHP
1
2
if ($result=='true'){} // => if($result){} //=>if($result == true){} 
if(mysql_affected_rows() == 1){} // or > 0 // количество затронутых строк, вроде бы, лучше переходите на PDO или хотя бы mysqli
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
21.03.2018, 14:06  [ТС]
Ошибка Call to undefined function save()
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
  $db = mysql_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
    if (isset($_POST["name"]) && isset($_POST['email'])){
   save();
} else {
   echo 'All fields are required!';
}
 
  $result=mysql_query("UPDATE `table3` SET name='$name', email='$email' WHERE `id`=$id_bileta ");
  
print_r($_POST);
 
  if ($result=='true')
  {
      echo "Информация в базу добавлена";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена";
  }
 
?>
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
21.03.2018, 14:12
kikaa, save(); где эта функция определена?
ее нет поэтому у тебя все что ниже нее просто не запускается
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
21.03.2018, 14:12
save() - это я имел в виду логику сохранения
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$db = mysql_connect('localhost', 'root', '', 'db1') or die('Ошибка подключения к БД');
 
if (isset($_POST["name"]) && isset($_POST['email'])){
    
    $result=mysql_query("UPDATE `table3` SET `name` = '$name', `email` = '$email' WHERE `id`= $id_bileta");
 
    //print_r($_POST);
 
    echo $result ? 'Информация в базу добавлена' : 'Информация в базу НЕ добавлена';
   
    /*if ($result) {
        echo "Информация в базу добавлена";
 
    } else {
        echo "Информация в базу НЕ добавлена";
    }*/
    
} else {
    echo 'All fields are required!';
}
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
21.03.2018, 14:23
FloppyDisc, а ясн)
и чисто мое мнение для новичков лучше так не писать
PHP
1
echo $result ? 'Информация в базу добавлена' : 'Информация в базу НЕ добавлена';
лучше по стандарту)
PHP
1
if($result){echo  'Информация в базу добавлена';}else{ echo 'Информация в базу НЕ добавлена';}
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 05:04  [ТС]
Данные вроде получает,но в базу всё равно не заносит
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 05:30  [ТС]
Может я в кнопку что-то лишние вписал:
Кнопка для открытия формы:
PHP
1
echo "<td>" . '<button  type="button" id="button2" id="'.$myrow['id_bileta']  . '" class="bay" data-stoimost="' . $myrow['stoimost'] .  '"  data-bilet="' . $myrow['id_bileta'] .  '"  data-name="' . $myrow['name'] .  '" >Оформить заказ</button>' . "</td> </tr>";
Кнопка отправки данных:
HTML5
1
<button name="add" id="add" type="submit" class="field5" >Купить</button>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2018, 05:30
Помогаю со студенческими работами здесь

Редактирование записи в бд
Здравствуйте уважаемые форумчанне! С php я уже разобрался(Ну.. для меня пока нормально, изучаю дальше)) А вот с sql пока не лады.. У...

Редактирование выбранной записи
Добрый день. делаю форму для редактирования выбранной записи. &lt;?php if (isset($_POST)) { mysql_query(&quot;UPDATE...

Редактирование записи в mysql
Помогите пожалуйста исправить код на сохранение редактируемой записи. На главной форме выводится таблицы из бд и рядом с каждой записью...

Вывести из таблицы MySQL все записи в виде html таблицы, не зная имена и колличество столбцов
Всем привет. Подскажите как вывести из таблицы MySQL все записи в виде html таблицы не зная имена и колличество столбцов

Как в MySQL запросе сравнить значение id из таблицы A со значением a_id из таблицы B из последней добавленной записи
Очень тяжело объяснить, вот пример (работаю в phpmyadmin): У меня есть 2 таблицы: articles categories У articles есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru