Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Link do edycji rekordu
szydlak
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 4
Dołączył: 23.09.2016

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


Witam. Stawiam pierwsze kroki w php i pisze sobie taką aplikacje do przeprowadzania egzaminów teoretycznych z prawa jazdy (od czegoś trzeba zacząć).
Napisałem sobie skrypt, który pobiera mi z bazy mysql kursantów i wyświetla w formie tabelki. Wszystko działa. Teraz pytanko. Jak zrobić aby na końcu każdego wiersza miał np ikonę którą mogę kliknąć i przejść do edycji danego wiersza ? . Np otwiera się okienko modalne z formularzem już uzupełnionym, wprowadzam zmiany i zapisuje. Poradzę sobie z utworzeniem np ikony obok rekordu. Tylko jakie ona powinna mieć łącze ? żebym np mógł edytować dany rekord znając jego id. I czy jest możliwość że jeden formularz wykorzystam zarówno do tworzenia nowego wpisu jak i edycji rekordów?
Mój kod na obecną chwile wygląda w ten sposób. Oczywiście chciałbym dodać funkcję np newuser czyli klikam button dodaj użytkownika i wyświetla mi się formularz uzupełniam i dodaję . Z tym sobie poradzę. Ale chciałbym ten sam formularz wykorzystać do edycji danych. Mogą być linki do opisów tego typu działań.
Mój kod na obecną chwile wygląda w ten sposób
  1. <?php
  2. include 'login.php';
  3. showusers($conn);
  4. function showusers($conn)
  5. {
  6. $query='select id, CONCAT(name, " ", surname) as imie_nazwisko , pesel, pkk_number from users';
  7. $result = $conn->query($query);
  8. if (!$result) die($conn->error);
  9.  
  10. $rows = $result->num_rows;
  11. echo <<<_END
  12. <table>
  13. <thead>
  14. <tr>
  15. <th>L.p</th>
  16.  
  17. <th>Imię nazwisko</th>
  18.  
  19. <th>Nr pesel</th>
  20.  
  21. <th>Numer PKK</th>
  22. </tr>
  23. </thead>
  24. <tbody>
  25. _END;
  26.  
  27. for ($j = 0 ; $j < $rows ; ++$j)
  28. {
  29. $result->data_seek($j);
  30. $row = $result->fetch_array(MYSQLI_ASSOC);
  31. echo '<tr>';
  32. echo '<td>' . $row['id'] . '</td>';
  33. echo '<td>' . $row['imie_nazwisko'] . '</td>';
  34. echo '<td>' . $row['pesel'] . '</td>';
  35. echo '<td>' . $row['pkk_number'] . '</td>';
  36. echo '</tr>';
  37. }
  38. echo '</tbody></table>';
  39.  
  40. }
  41.  
  42. ?>

Dzięki i pozdrawiam.

Ten post edytował szydlak 4.10.2016, 20:37:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szydlak
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 4
Dołączył: 23.09.2016

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


Uzyskałem efekt, o który mi chodziło. Mam modalne okno do edycji lub dodawania nowego użytkownika. Po naciśnięciu przycisku zapisz w oknie modalnym wykonują się instrukcję z pliku users.php. Mój główny plik to index.html. Jak zrobić żeby po kliknięciu przycisku zapisz czyli albo zrobię update albo insert wrócić z powrotem do pliku index.html? Jak kliknę zapisz to w pasku adresu pojawia mi się users.php. Można się tego pozbyć ?
  1. <!doctype html>
  2.  
  3. <body>
  4. <?php
  5. include 'login.php';
  6. showusers($conn);
  7. function showusers($conn)
  8. {
  9. $query='select id, firstname , lastname, pesel, pkk_number from users';
  10. $result = $conn->query($query);
  11. if (!$result) die($conn->error);
  12. $rows = $result->num_rows;
  13. echo <<<_END
  14. <table id="r">
  15. <thead>
  16. <tr>
  17. <th>L.p</th>
  18. <th>Imię</th>
  19. <th>Nazwisko</th>
  20. <th>Nr pesel</th>
  21. <th colspan="2">Numer PKK</th>
  22. <th></th>
  23. </tr>
  24. </thead>
  25. <tbody>
  26. _END;
  27.  
  28. for ($j = 0 ; $j < $rows ; ++$j)
  29. {
  30. $result->data_seek($j);
  31. $row = $result->fetch_array(MYSQLI_ASSOC);
  32. echo '<tr>';
  33. echo '<td>' . $row['id'] . '</td>';
  34. echo '<td>' . $row['firstname'] . '</td>';
  35. echo '<td>' . $row['lastname'] . '</td>';
  36. echo '<td>' . $row['pesel'] . '</td>';
  37. echo '<td>' . $row['pkk_number'] . '</td>';
  38. echo '<td><a href="#" class=actions>akcje</a></td>';
  39. echo '</tr>';
  40. }
  41. echo '</tbody></table>';
  42. }
  43. ?>
  44. <div id="dialog" title="Edycja danych">
  45. <form id="usersform" action="users.php" method="post">
  46. <label for="firstname">Imię</label>
  47. <input id="firstname" type="text" name="firstname" value="">
  48. <label for="lastname">Nazwisko</label>
  49. <input id="lastname" type="text" name="lastname" value="">
  50. <label for="pesel">Nr pesel</label>
  51. <input id="pesel" type="text" name="pesel" value="">
  52. <label for="pkk">Nr PKK</label>
  53. <input id="pkk" type="text" name="pkk" value="">
  54. <input id="hidden" type="hidden" name="hidden" value="">
  55. <br><br>
  56. <input type="submit" value="Zapisz">
  57. </form>
  58. </div>
  59. </body>
  60.  
  61. <script>
  62.  
  63. $('#dialog').dialog({
  64. modal: true,
  65. autoOpen: false
  66. });
  67.  
  68.  
  69. $('#r tbody').on('click', 'a.actions', function(e){
  70.  
  71. $('#dialog').dialog('open');
  72. var $firstname=$(this).parents('tr').children('td').eq('1').text();
  73. var $lastname=$(this).parents('tr').children('td').eq('2').text();
  74. var $pesel=$(this).parents('tr').children('td').eq('3').text();
  75. var $pkk=$(this).parents('tr').children('td').eq('4').text();
  76. var $edit=true;
  77. $("#firstname").val($firstname);
  78. $("#lastname").val($lastname);
  79. $("#pesel").val($pkk);
  80. $("#pkk").val($firstname);
  81. $('#hidden').val($edit);
  82. }
  83. );
  84. </script>
  85. </html>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 21:25