Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax, Dynamic Dependent Select Box, problem z wysyłaniem danych do bazy danych
Forum PHP.pl > Forum > Przedszkole
MrTobi
Dzień dobry, nie wiem czy w dobrym miejscu to pisze więc od razu przepraszam.
Pisze ten post ponieważ mam problem z przesłaniem danych z formularza do bazy danych, a mianowicie jak dane zostają uzupełnione, zostaną wpisane i wybrane z dynamicznego selektora to te wybrane zostają przesłane tylko jako numer opcji. Nie wiem jak to rozwiązać.Macie jakieś pomysły? a może źle zabrałem się za to ?

Kod do uzupełnienia "Rejestracja"
  1.  
  2. <?php
  3. include_once 'dbconfig.php';
  4. ?>
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <title>Rejestracja</title>
  9. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  10. <script>
  11. function getWojewodztwo(val) {
  12.  
  13. $.ajax({
  14. type: "POST",
  15. url: "dane.php",
  16. data: "woj_id="+val,
  17. success: function(response){
  18.  
  19. $('#powiat').html(response);
  20. }
  21. });
  22. }
  23.  
  24. function getPowiat(val) {
  25.  
  26. $.ajax({
  27. type: "POST",
  28. url: "dane.php",
  29. data: "powiat_id="+val,
  30. success: function(response){
  31.  
  32. $('#gmin').html(response);
  33. }
  34. });
  35. }
  36. function getGmina(val) {
  37.  
  38. $.ajax({
  39. type: "POST",
  40. url: "dane.php",
  41. data: "gmin_id="+val,
  42. success: function(response){
  43.  
  44. $('#miasto').html(response);
  45. }
  46. });
  47. }
  48. function getMiasto(val) {
  49.  
  50. $.ajax({
  51. type: "POST",
  52. url: "dane.php",
  53. data: "miast_id="+val,
  54. success: function(response){
  55.  
  56. $('#ulica').html(response);
  57. }
  58. });
  59. }
  60. </script>
  61.  
  62.  
  63. </head>
  64. <body>
  65.  
  66. <form action="rejestracja.php" method="post" enctype="multipart/form-data">
  67.  
  68. <select id="woj" name="woj" onChange="getWojewodztwo(this.value);">
  69. <option selected="selected">Wybierz wojewodztwo</option>
  70. <?php
  71.  
  72. $query = mysqli_query($conn,"SELECT * FROM `Wojewodztwa` ");
  73.  
  74. if(mysqli_num_rows($query)>0){
  75. while($countries = mysqli_fetch_array($query)){
  76. ?>
  77. <option value="<?php echo $countries['wojewodztwo_id'];?>"><?php echo $countries['wojewodztwo']; ?></option>
  78. <?php }}
  79. else{
  80. echo '<option value="">Brak powiatu</option>';
  81. } ?>
  82. </select>
  83. Kod pocztowy<input type="text" name="Kod_pocztowy">
  84.  
  85. <select id="powiat" name="powiat" onChange="getPowiat(this.value);">
  86. <option selected="selected">Wybierz powiat</option>
  87. </select>
  88. <select id="gmin" name="gmin" onChange="getGmina(this.value);">
  89. <option selected="selected">Wybierz gmine</option>
  90. </select>
  91. <select id="miasto" name="miasto" onChange="getMiasto(this.value);">
  92. <option selected="selected">Wybierz miasto</option>
  93. </select>
  94. <select id="ulica" name="ulica">
  95. <option selected="selected">Wybierz ulice</option>
  96. </select>
  97. Numer Doum<input type="text" name="Nr_domu">
  98. Numer Lokalu<input type="text" name="Nr_lokalu">
  99. <input type="submit" name="Dodaj" value="
  100. </form>
  101. </body>
  102. </html>
  103.  


Wysłanie danych
  1. <?php
  2. include_once 'dbconfig.php';
  3.  
  4. $woj=$_POST['<?php echo $countries[\'wojewodztwo_id\']; ?>'];
  5. $kod=$_POST['Kod_pocztowy'];
  6. $powiat=$_POST['powiat'];
  7. $gmin=$_POST['gmin'];
  8. $miasto=$_POST['miasto'];
  9. $ulica=$_POST['ulica'];
  10. $domu=$_POST['Nr_domu'];
  11. $lokalu=$_POST['Nr_lokalu'];
  12. $sql = "INSERT INTO Adres VALUES (null,$woj,$kod,$powiat,$gmin,$miasto,$ulica,$domu,$lokalu)";
  13.  
  14. if ($conn->query($sql) === TRUE) {
  15. echo "New record created successfully";
  16. } else {
  17. echo "Error: " . $sql . "<br>" . $conn->error;
  18. }
  19. ?>
nospor
Problem z ajax nie ma zadnego zwiazku - przenosze

$woj=$_POST['<?php echo $countries[\'wojewodztwo_id\']; ?>'];
Co to jest?


Cytat
a mianowicie jak dane zostają uzupełnione, zostaną wpisane i wybrane z dynamicznego selektora to te wybrane zostają przesłane tylko jako numer opcji.

Formularz wysyla to co jest w value w OPTION. Jesli masz tam ID, to wszystko sie wysyla prawidlowo
MrTobi
Własnie ciężko mi jest to zmienić na zwykło nazwę
  1. <?php echo $countries['wojewodztwo']; ?>

ponieważ ID wykorzystuje w pokazywaniu się następnych "select".
nospor
Jak to jak zamienic na nazwe? Skoro masz ID to i masz NAZWE, ktora jest w bazie, no nie? wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.