Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] Edycja poszczególnych kolumn, Schemat działania
extremist
post 1.08.2019, 20:32:33
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.08.2019

Ostrzeżenie: (0%)
-----


Dzień dobry,

Znalazłem w sieci skrypt dynamicznego edytowania bazy mysql (https://webdamn.com/create-editable-bootstrap-table-with-php-mysql/).
Przerabiam go pod siebie i tak jak kod PHP rozumiem tak JS nie za koniecznie. Próbowałem logicznie zmienić wartości, ale nie rozumiem schematu działania funkcji edycji w tym pliki: editable.js

Konkretnie (moja wersja) :

  1. $( document ).ready(function() {
  2. $('#editableTable').SetEditable({
  3. columnsEd: "0,1,2,3",
  4. onEdit: function(columnsEd) {
  5. // console.log("===edit=="+(this));
  6. var empId = columnsEd[0].childNodes[1].innerHTML;
  7. var imie = columnsEd[0].childNodes[3].innerHTML;
  8. var nazwisko = columnsEd[0].childNodes[5].innerHTML;
  9. var email = columnsEd[0].childNodes[7].innerHTML;
  10.  
  11.  
  12. $.ajax({
  13. type: 'POST',
  14. url : "action.php",
  15. dataType: "json",
  16. data: {id:empId, imie:imie, nazwisko:nazwisko, email:email, action:'edit'},
  17. success: function (response) {
  18. if(response.status) {
  19. // show update message
  20. }
  21. }
  22. });
  23. },
  24. onBeforeDelete: function(columnsEd) {
  25. var empId = columnsEd[0].childNodes[1].innerHTML;
  26. $.ajax({
  27. type: 'POST',
  28. url : "action.php",
  29. dataType: "json",
  30. data: {id:empId, action:'delete'},
  31. success: function (response) {
  32. if(response.status) {
  33. // show delete message
  34. }
  35. }
  36. });
  37. },
  38. });
  39. });


Edytuje mi tylko kolumnę imie, nazwisko i email nie chce. Wyświetla wszystko poprawnie
Moja baza wygląda tak :

  1. CREATE TABLE `users` (
  2. `id` int(11) NOT NULL,
  3. `imie` text NOT NULL,
  4. `nazwisko` text NOT NULL,
  5. `email` text NOT NULL,
  6. `password` varchar(255) NOT NULL,
  7. `telefon` text NOT NULL,
  8. `ip` text NOT NULL,
  9. `mac` text NOT NULL,
  10. `cookie` text NOT NULL,
  11. `pcname` text NOT NULL,
  12. `os` text NOT NULL,
  13. `data` datetime NOT NULL
  14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Plik action.php:

  1. <?php
  2. include_once("../../config.php");
  3. if ($_POST['action'] == 'edit' && $_POST['id']) {
  4. $updateField='';
  5. if(isset($_POST['imie'])) {
  6. $updateField.= "imie='".$_POST['imie']."'";
  7. } else if(isset($_POST['nazwisko'])) {
  8. $updateField.= "nazwisko='".$_POST['nazwisko']."'";
  9. } else if(isset($_POST['email'])) {
  10. $updateField.= "email='".$_POST['email']."'";
  11. }
  12. if($updateField && $_POST['id']) {
  13. $sqlQuery = "UPDATE users SET $updateField WHERE id='" . $_POST['id'] . "'";
  14. mysqli_query($db1, $sqlQuery) or die("database error:". mysqli_error($db1));
  15. $data = array(
  16. "message" => "Record Updated",
  17. "status" => 1
  18. );
  19. echo json_encode($data);
  20. }
  21. }
  22. if ($_POST['action'] == 'delete' && $_POST['id']) {
  23. $sqlQuery = "DELETE FROM users WHERE id='" . $_POST['id'] . "'";
  24. mysqli_query($db1, $sqlQuery) or die("database error:". mysqli_error($db1));
  25. $data = array(
  26. "message" => "Record Deleted",
  27. "status" => 1
  28. );
  29. echo json_encode($data);
  30. }
  31.  
  32. ?>


Oraz index.php

  1. <?php
  2. include("inc/header.php");
  3. ?>
  4. <title>webdamn.com : Demo Create Editable Bootstrap Table with jQuery, PHP & MySQL</title>
  5. <?php include('inc/container.php');?>
  6. <style>
  7. table {
  8. background-color: #181818;
  9. }
  10. table, .table {
  11. color: #fff;
  12. }
  13. </style>
  14. <div class="container">
  15. <div class="row">
  16. <h2>Example: Create Editable Bootstrap Table with jQuery, PHP & MySQL</h2>
  17. <?php
  18. include_once("../../config.php");
  19. $sqlQuery = "SELECT id, imie, nazwisko, email FROM users LIMIT 5";
  20. $resultSet = mysqli_query($db1, $sqlQuery) or die("database error:". mysqli_error($db1));
  21. ?>
  22. <table id="editableTable" class="table table-bordered">
  23. <thead>
  24. <tr>
  25. <th>Id</th>
  26. <th>Imie</th>
  27. <th>Nazwisko</th>
  28. <th>Email</th>
  29. </tr>
  30. </thead>
  31. <tbody>
  32. <?php while( $developer = mysqli_fetch_assoc($resultSet) ) { ?>
  33. <tr id="<?php echo $developer ['id']; ?>">
  34. <td><?php echo $developer ['id']; ?></td>
  35. <td><?php echo $developer ['imie']; ?></td>
  36. <td><?php echo $developer ['nazwisko']; ?></td>
  37. <td><?php echo $developer ['email']; ?></td>
  38. </tr>
  39. <?php } ?>
  40. </tbody>
  41. </table>
  42. </div>
  43. </div>
  44. <script src="plugin/bootstable.js"></script>
  45. <script src="js/editable.js"></script>
  46. <?php include('inc/footer.php');?>
  47.  
  48.  
  49.  
  50.  
  51.  

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 20:01