Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Autouzupełnianie wielu input-ów
Forum PHP.pl > Forum > Przedszkole
tomtyt
Witam,

Na początku zaznaczę że to mój pierwszy post i jestem bardzo początkujący więc jeśli możecie oszczędźcie mnie smile.gif

Chciałem zrobić taką stronkę na której będę (do pierwszego inputa) wpisywał nazwę firmy a w kolejnych inputach automatycznie będzie mi uzupełniało adres, nip, numer konta, które to dane będzie pobierało z bazy danych.

Do tej pory udało mi się wykombinować z dostępnych materiałów taką sytuację że podczas wpisywania do inputa (id="kontrahent") podpowiada mi kontrahentów z bazy danych, teraz chciał bym żeby z tej bazy do kolejnych inputów wklejało resztę danych ale nie mam pojęcia jak to zrealizować ma może ktoś jakiś pomysł.

Poniżej przesyłam swój kod.

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <!-- Meta, title, CSS, favicons, etc. -->
  6. <meta charset="utf-8">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <title>test</title>
  10. </head>
  11. <body>
  12. <input type="text" id="kontrahent" name="imie">
  13. <input type="text" id="adres">
  14. <input type="text" id="nip">
  15. <input type="text" id="nr_konta">
  16.  
  17. <script src="jquery/dist/jquery.min.js"></script>
  18. <script src="devbridge-autocomplete/dist/jquery.autocomplete.min.js"></script>
  19. <!-- jQuery autocomplete -->
  20. $(document).ready(function() {
  21. var countries = {
  22. <?php
  23. require_once "connect.php";
  24. $polaczenie1 = @new mysqli($host, $db_user, $db_password, $db_name);
  25. $polaczenie1 -> query ('SET NAMES utf8');
  26. $polaczenie1 -> query ('SET CHARACTER_SET utf8_unicode_ci');
  27. if($polaczenie1->connect_errno!=0)
  28. {
  29. echo "Error";
  30. }
  31. else
  32. {
  33. $sql="SELECT * FROM kontrahenci ORDER BY kontrahenci_nazwa ASC";
  34.  
  35. if ($rezultat = $polaczenie1->query($sql))
  36. {
  37. $ile = $rezultat->num_rows;
  38.  
  39. if($ile>0)
  40. {
  41. for ($i = 1; $i <= $ile; $i++)
  42. {
  43. $wiersz=$rezultat->fetch_assoc();
  44.  
  45. $kontrahenci_nazwa = $wiersz['kontrahenci_nazwa'];
  46.  
  47. $ia=$i-1;
  48. echo 'A'.$ia.':"'.$kontrahenci_nazwa.'",';
  49. }
  50. $rezultat->close();
  51. } else {
  52. $blad="błąd";
  53. }
  54. }
  55.  
  56. $polaczenie1->close();
  57. }
  58. ?>
  59. };
  60. var countriesArray = $.map(countries, function(value, key) {
  61. return {
  62. value: value,
  63. data: key
  64. };
  65. });
  66. $('#kontrahent').autocomplete({
  67. lookup: countriesArray
  68. });
  69. });
  70. </script>
  71. </body>
  72. </html>
wxm
Po wpisaniu id kontrahenta AJAXem dociągaj resztę danych potrzebnych do uzupełnienia forumularza smile.gif
mrk9109
Jaka struktura bazy jakie kolumny ? Linia 46 tam wyciągasz z mysql jedno to musisz i resztę
tomtyt
Pobrałem resztę ale nadal nie wiem jak to przypisać do kolejnych pól formularza :/

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <!-- Meta, title, CSS, favicons, etc. -->
  6. <meta charset="utf-8">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9.  
  10. <title>test</title>
  11.  
  12.  
  13.  
  14. </head>
  15.  
  16.  
  17.  
  18.  
  19. <body>
  20. <input type="text" id="kontrahent" name="imie">
  21. <input type="text" id="adres">
  22. <input type="text" id="nip">
  23. <input type="text" id="nr_konta">
  24.  
  25.  
  26.  
  27. <script src="jquery/dist/jquery.min.js"></script>
  28. <script src="devbridge-autocomplete/dist/jquery.autocomplete.min.js"></script>
  29. <!-- jQuery autocomplete -->
  30. <script>
  31. $(document).ready(function() {
  32. var countries = {
  33. <?php
  34. require_once "connect.php";
  35. $polaczenie1 = @new mysqli($host, $db_user, $db_password, $db_name);
  36. $polaczenie1 -> query ('SET NAMES utf8');
  37. $polaczenie1 -> query ('SET CHARACTER_SET utf8_unicode_ci');
  38. if($polaczenie1->connect_errno!=0)
  39. {
  40. echo "Error";
  41. }
  42. else
  43. {
  44. $sql="SELECT * FROM kontrahenci ORDER BY kontrahenci_nazwa ASC";
  45.  
  46. if ($rezultat = $polaczenie1->query($sql))
  47. {
  48. $ile = $rezultat->num_rows;
  49.  
  50.  
  51.  
  52. if($ile>0)
  53. {
  54.  
  55. for ($i = 1; $i <= $ile; $i++)
  56. {
  57. $wiersz=$rezultat->fetch_assoc();
  58.  
  59. $kontrahenci_nazwa = $wiersz['kontrahenci_nazwa'];
  60. $kontrahenci_nr_konta = $wiersz['kontrahenci_nr_konta'];
  61. $kontrahenci_ulica = $wiersz['kontrahenci_ulica'];
  62.  
  63. $ia=$i-1;
  64. echo 'A'.$ia.':"'.$kontrahenci_nazwa.'",';
  65. echo 'B'.$ia.':"'.$kontrahenci_nr_konta.'",';
  66. echo 'C'.$ia.':"'.$kontrahenci_ulica.'",';
  67. }
  68.  
  69. $rezultat->close();
  70.  
  71. } else {
  72.  
  73.  
  74. $blad="błąd";
  75.  
  76. }
  77.  
  78.  
  79. }
  80.  
  81. $polaczenie1->close();
  82.  
  83. }
  84. ?>
  85.  
  86. };
  87.  
  88.  
  89. var countriesArray = $.map(countries, function(value, key) {
  90. return {
  91. value: value,
  92. data: key
  93. };
  94. });
  95.  
  96.  
  97. $('#kontrahent').autocomplete({
  98. lookup: countriesArray
  99. });
  100. });
  101. </script>
  102. </body>
  103. </html>
  104.  
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.