Как посылать данные модального dialog bootstrap в таблицу в mysql?

У меня есть таблица в mysql названная работа, которая у него есть три поля (Id_trabajo, Nombre_Trabajo и Цена), у которой есть данные, и я показываю их в этой таблице в html

Esta es la tabla que muestro en la pagina del sitio

Сейчас, когда я хочу дело в том, что, выбрав издавать, он смог изменять имя и цену, и в том, чтобы это изменение сохраняло также прямо в базе данных, дав click в издавании, у меня есть модальный - dialog как этот:

introducir la descripción de la imagen aquí

но дав click в обновлении, он ничего не делает мне, это мой код

и это мой код в php для консультации

 
    
     
    
     

        
        
        



          
Datos guardados correctamente! Volver
Error al guardar los datos! Volver

2
задан 05.10.2016, 20:33
5 ответов

1. - Используй событие click JQuery, чтобы получать событие, внутри события верни lel контент поля и реализуй утверждения данных, если ты так этого требуешь.

https://api.jquery.com/click /

2. - Однажды сделанный предыдущее ты можешь властвовать посредством ajax jquery пошли это в страницу, где ты сделал процесс связи в твой DB

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
2
ответ дан 24.11.2019, 13:11
    <form name="form2" method="POST" action="actualizar_lista.php">
  <div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">

        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
          <h4 class="modal-title custom_align" id="Heading">Editar informacion</h4>
        </div>

        <div class="modal-body">

             <div class="form-group">
            <input class="form-control " type="text" placeholder="id" id="txt_id" name="txt_id">
          </div>

          <div class="form-group">
            <input class="form-control " type="text" placeholder="Nombre del trabajo" id="txt_nombre" name="txt_nombre">
          </div>

          <div class="form-group">
            <input class="form-control " type="text" placeholder="Costo" id="txt_costo" name="txt_costo">
          </div>


      <div class="form-group" align="center">

     <input type="submit"  class="btn btn-warning" name="btn"  id="btn" value="Actualizar"/>

    </div>
    </div>
    </div>
    </div>
    </div>
    </form>


    Archivo Actualizar_lista.php

          include("conexion.php");
          $txt_id=$_POST["txt_id"];
          $txt_nombre=$_POST["txt_nombre"];
          $txt_costo=$_POST["txt_costo"];
    $sql=mysqli_query($conexion,"update nombretabla set nombre=$txt_nombre, costo=$txt_costo where id=$txt_id");
    if ($conexion->query($sql) === TRUE) {
    echo "Actualizado Correctamente";
     }
0
ответ дан 24.11.2019, 13:11
  • 1
    Привет Rastalovely и желанный в SO в espa и # 241; ol. и #191; podr и # 237; схвати расширять немного твой ответ? Хотя может быть приемлемым в неких случаях печатать и #250; nicamente c и # 243; я говорю, что важно давать explicaci и # 243; n, что acompa и # 241; и. – Miquel Coll 05.10.2016, 23:37

Он пытается не прилагать в консультации данные, введенные в компьютер пользователем, иначе ты будешь уязвимым в SQLi. Кроме того, твой код может организовываться лучше, если ты не перемешиваешь совещания с backend. Ты можешь видеть больше на расставании интересов здесь.

editar.php

// variables
$data = json_decode($_POST['data']);
$id_trabajo = $data[0]['id_trabajo'];
$nombre_trabajo = $data[1]['nombre_trabajo'];
$costo = $data[2]['costo'];

// realiza la consulta
$query = "UPDATE trabajos SET nombre_trabajo=?, costo=? WHERE id_trabajo=?";
$pstmt = $conn->prepare($query);
$pstmt->bind_param("sdi", $id_trabajo, $nombre_trabajo, $costo);

if($pstmt->execute($pstmt)) {
  json_encode(array("status" => "OK"));
} else {
  json_encode(array(
    "status" => "FAIL",
    "error" => $conn->error
  ));
}

модальный

Из-за семантических вопросов лучше, чтобы ты использовал формуляры, хотя ты используешь AJAX. Это помогает в indentificar быстро, который эта группа данных пошлет себе в сервер.

<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
  <div class="modal-dialog modal-sm" role="document">
    <form class="modal-content" action="actualizar_trabajo.php" method="POST">
      <div class="modal-header">
        <button type="button" class="close" 
                data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title">Editar trabajo</h4>
      </div>
      <div class="modal-body">
          <div class="form-group">
            <input class="form-control " type="hidden" placeholder="id" name="txt_id">
          </div>
          <div class="form-group">
            <input class="form-control " type="text" placeholder="Nombre del trabajo" name="txt_nombre">
          </div>
          <div class="form-group">
            <input class="form-control " type="text" placeholder="Costo" name="txt_costo">
          </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
        <button type="submit" class="btn btn-primary">Guardar</button>
      </div>
    </form>
  </div>
</div>

Язык сценариев JavaScript

$('.modal form').on('submit', function(e) {
  e.preventDefault();
  $.ajax({
    url: $(this).attr('action'),
    type: $(this).attr('method'),
    data: { data: $(this).serializeArray() }
  })
  .done(function(response) {
    if(response.status === "OK") {
      $('.modal').modal('hide');
    } else {
      // mostrar el error al usuario
    }
  });
});
0
ответ дан 24.11.2019, 13:11

Уважаемого нет добавлять признак ямс для каждого из полей формуляра, для того, чтобы потом смогли брать стоимость в travГ©s из array $ _POST ['nombre_del_campo']:

<input class="form-control " type="text" placeholder="id" id="txt_id" name="txt_id">
0
ответ дан 24.11.2019, 13:11

Если бы это был мой случай, я использовал бы ajax.

  1. Он поместил бы div внутри модального окна, которое содержит только form с кнопкой.
  2. Он получил бы стоимость (пойдите, что я хочу издать) .con кнопку издавать. Со мной ajax он бы это послал в отдельный файл, который содержал бы совсем структуру html но: глаз! должен будь быть внутри php, где он реализовал бы консультацию и принес бы данные об этом пойдите. Я печатаю мою структуру html с Вашими данными в - я "оценил" с одним я "начинаю".
  3. Однажды сделанный это уже ты сможешь видеть твое модальное окно с данными отборного id.
  4. В тебе PHP который содержит одинокий update, получает данные. и обнови.

Прощение из-за того, что не присоединяет пример. Но я присоединяю тебя страница, которая помогла мне в Вашем моменте реализовывать что-то похожее на твой вопрос https://mimentevuela.wordpress.com / 2015 / 08 / 09 / busqueda-instantanea-con-ajax-php-y-mysql /

0
ответ дан 24.11.2019, 13:11