Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]problem z wysłaniem danych z formularza do BD
Forum PHP.pl > Forum > Przedszkole
krzysztof.kt
Witam,

na wstępie odrazu zaznaczę że z php i mysql mam do czynienia zaledwie od tygodnia, ale mianowicie mam problem z uzupełnieniem danych z formularza w bazie danych mysql.

w formularzu (html) posiadam pola takie jak zmienne w kodzie PHP

problem jest tego typu że chcę te dane pobrać do bazy ale do 2 różnych tabel :

1 tabela to przyjecie_sprzet 2 tabela to klienci

co mam tutaj w zapytaniu php nie tak??

  1. ///////////////////////////////////////////////////////////////////////////////////
  2. $dbc = mysqli_connect(' tutaj wiadomo o co chodzi......')
  3. or die('Brak połączenia z serwerem MySQL.');
  4.  
  5. //serwis
  6. $id = $_POST['id'];
  7. $data_przyjecia = $_POST['data_przyjecia'];
  8. $rodzaj_sprzetu = $_POST['rodzaj_sprzetu'];
  9. $marka = $_POST['marka'];
  10. $model = $_POST['model'];
  11. $numer_seryjny = $_POST['numer_seryjny'];
  12. $opis_usterki = $_POST['opis_usterki'];
  13. $stan_urzadzenia = $_POST['stan_urzadzenia'];
  14. $akcesoria = $_POST['akcesoria'];
  15. $uwagi = $_POST['uwagi'];
  16. $naprawiac_do_ceny = $_POST['naprawiac_do_ceny'];
  17.  
  18. //klient
  19. $id_klienta = $_POST['id_klienta'];
  20. $imie = $_POST['imie'];
  21. $nazwisko = $_POST['nazwisko'];
  22. $firma = $_POST['firma'];
  23. $nip = $_POST['nip'];
  24. $ulica = $_POST['ulica'];
  25. $miejscowosc = $_POST['miejscowosc'];
  26. $kod_pocztowy = $_POST['kod_pocztowy'];
  27. $telefon = $_POST['telefon'];
  28. $email = $_POST['email'];
  29.  
  30. //dane na temat klientów (to wlasnie mi nie dziala jak jest jedno i 2 w kodzie)
  31.  
  32. $query = "INSERT INTO klienci (id_klienta, imie, nazwisko, firma, nip, ulica, miejscowosc, kod_pocztowy, telefon, email)
  33.  
  34. VALUES ('$id_klienta', '$imie', '$nazwisko', '$firma', '$nip', '$ulica', '$miejscowosc', '$kod_pocztowy', '$telefon', '$email' )";
  35.  
  36. //dane na temat sprzętu (to jak jest samo w kodzie -działa)
  37. [/code]
  38. $query = "INSERT INTO przyjecie_sprzetu (id, data_przyjecia, rodzaj_sprzetu, marka, model, numer_seryjny, opis_usterki, stan_urzadzenia, akcesoria, uwagi, naprawiac_do_ceny)
  39.  
  40. VALUES ('$id', '$data_przyjecia', '$rodzaj_sprzetu', '$marka', '$model', '$numer_seryjny', '$opis_usterki', '$stan_urzadzenia', '$akcesoria',
  41. '$uwagi', '$naprawiac_do_ceny' )";
  42.  
  43.  
  44.  
  45. mysqli_query($dbc, $query)
  46. or die('Błąd w zapytaniu do bazy danych.');
  47.  
  48. echo 'Zlecenie naprawy zostało przyjęte.</br>
  49. ';
  50.  
  51. mysqli_close($dbc);
  52.  
  53. /////////////////////////////////////////////////////////////////////////////////////


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Przyjecie sprzętu na SERWIS</title>
  6. <link rel="stylesheet" type="text/css" href="style.css" />
  7. </head>
  8.  
  9. <fieldset><legend><p><strong>Przyjęcie do SERWISU</strong>.</p></legend></br>
  10. <form method="post" action="addemail.php">
  11. <fieldset><legend><strong>Dane klienta</strong></legend><br>
  12. <label for="model">ID_klienta:</label>
  13. <input type="text" id="id_klienta" name="id_klienta" /><br />
  14. <label for="model">Imię:</label>
  15. <input type="text" id="imie" name="imie" /><br />
  16. <label for="model">Nazwisko:</label>
  17. <input type="text" id="nazwisko" name="nazwisko" /><br />
  18. <label for="model">Nazwa Firmy:</label>
  19. <input type="text" id="firma" name="firma" /><br />
  20. <label for="model">NIP:</label>
  21. <input type="text" id="nip" name="nip" /><br />
  22. <label for="model">Ulica:</label>
  23. <input type="text" id="ulica" name="ulica" /><br />
  24. <label for="model">Miejscowość:</label>
  25. <input type="text" id="miejscowosc" name="miejscowosc" /><br />
  26. <label for="model">Kod pocztowy:</label>
  27. <input type="text" id="kod_pocztowy" name="kod_pocztowy" /><br />
  28. <label for="model">Telefon kontaktowy:</label>
  29. <input type="text" id="telefon" name="telefon" /><br />
  30. <label for="email">Adres e-mail:</label>
  31. <input type="text" id="email" name="email" /><br />
  32.  
  33. <fieldset><legend><strong>Dane sprzętu</strong></legend><br>
  34. <label for="id">ID:</label>
  35. <input type="text" id="id" name="id" /><br />
  36. <label for="data_przyjecia">Data przyjęcia:</label>
  37. <input type="text" id="data_przyjecia" name="data_przyjecia" /><br />
  38. <label for="rodzaj_sprzetu">Rodzaj sprzętu:</label>
  39. <select name="rodzaj_sprzetu" >
  40. <option>Telefon GSM</option>
  41. <option>Laptop</option>
  42. <option>Nawigacaj GPS</option>
  43. <option>Komputer PC</option>
  44. </select> <br />
  45. <label for="marka">Marka:</label>
  46. <select name="marka" >
  47. <option>Nokia</option>
  48. <option>Sony Ericsson</option>
  49. <option>Samsung</option>
  50. <option>Motorola</option>
  51. <option>Siemens</option>
  52. <option>Toshiba</option>
  53. <option>Hp</option>
  54. <option>Black Berry</option>
  55. <option>Siemens</option>
  56. <option>Benq</option>
  57. <option>HTC</option>
  58. <option>Iphone</option>
  59. </select> <br />
  60. <label for="model">Model:</label>
  61. <input type="text" id="model" name="model" /><br />
  62. <label for="numer_seryjny">Numer seryjny:</label>
  63. <input type="text" id="numer_seryjny" name="numer_seryjny" /><br />
  64. <label for="opis_usterki">Opis usterki:</label>
  65. <textarea name="opis_usterki" rows="5" cols="50"></textarea></br><br />
  66. <label for="stan_urzadzenia">Stan urządzenia:</label>
  67. <input type="text" id="stan_urzadzenia" name="stan_urzadzenia" /><br />
  68. <label for="akcesoria">Akcesoria:</label><br />
  69. <input type="checkbox" id="akcesoria" name="akcesoria" value="bateria">Bateria<br>
  70. <input type="checkbox" id="akcesoria" name="akcesoria" value="zasialcz">Zasilacz<br>
  71. <input type="checkbox" id="akcesoria" name="akcesoria" value="futeral">Futerał<br>
  72. <input type="checkbox" id="akcesoria" name="akcesoria" value="karta_pamieci" >Karta pamięci<br>
  73. <input type="checkbox" id="akcesoria" name="akcesoria" value="rysik" >Rysik<br>
  74. <input type="checkbox" id="akcesoria" name="akcesoria" value="myszka" >Myszka<br>
  75. <input type="checkbox" id="akcesoria" name="akcesoria" value="oprogramowanie">Oprogramowanie<br/>
  76. <label for="uwagi">Uwagi:</label>
  77. <textarea name="uwagi" rows="5" cols="50"></textarea></br>
  78. <label for="naprawiac_do_ceny">Naprawiać do ceny:</label>
  79. <input type="text" id="naprawiac_do_ceny" name="naprawiac_do_ceny" /><br />
  80. <input type="submit" name="Submit" value="Wyślij zlecenie" />
  81. </form>
  82. </body>
  83. </html>
  84.  


i teraz najlepsze jest to że jeżeli wytnę zapytanie do przyjecie_sprzetu to nie dodaje mi danych z formularza do tabeli klienci , uzupełnia parę kolumn tylko np 0 albo nic nie dodaje

, natomiast jeżeli wytnę z kodu zapytanie do tabeli: klienci , a wstawię zapytanie do tabeli : przyjecie_sprzetu - ta jest prawidłowo wypełniana

nie mam siły już na to a cały dzień szukałm po necie.

z góry dziękuje za pomoc.
modern-web
A powiedz mi... Kolumnę 'id' w tabeli masz ustawioną na AI (auto_increment)?
krzysztof.kt
tak w id i w id_klienta mam auto_increment czy jakoś tak:)

zastanawia mnie tylko czy można na raz wysłać te 2 zapytania do 2 tabel? bo skoro do tabeli przyjecie_sprzetu wszystko trafia a do klienci nic

oczywiście gdy ręcznie wpisuje całe polecenie w phpadmin >>SQL dział poprawnie:)
vonski
Robisz to dokładnie tak jak tutaj napisałeś?

[quote name='krzysztof.kt' date='29.10.2010, 22:01:53 ' post='802127']


  1.  
  2. //dane na temat klientów (to wlasnie mi nie dziala jak jest jedno i 2 w kodzie)
  3.  
  4. $query = "INSERT INTO klienci (id_klienta, imie, nazwisko, firma, nip, ulica, miejscowosc, kod_pocztowy, telefon, email)
  5.  
  6. VALUES ('$id_klienta', '$imie', '$nazwisko', '$firma', '$nip', '$ulica', '$miejscowosc', '$kod_pocztowy', '$telefon', '$email' )";
  7.  
  8. //dane na temat sprzętu (to jak jest samo w kodzie -działa)
  9.  
  10. $query = "INSERT INTO przyjecie_sprzetu (id, data_przyjecia, rodzaj_sprzetu, marka, model, numer_seryjny, opis_usterki, stan_urzadzenia, akcesoria, uwagi, naprawiac_do_ceny)
  11.  
  12. VALUES ('$id', '$data_przyjecia', '$rodzaj_sprzetu', '$marka', '$model', '$numer_seryjny', '$opis_usterki', '$stan_urzadzenia', '$akcesoria',
  13. '$uwagi', '$naprawiac_do_ceny' )";
  14.  
  15.  
  16.  
  17. mysqli_query($dbc, $query)
  18. or die('Błąd w zapytaniu do bazy danych.');
  19.  


Bo tu wychodzi na to, że najpierw przypisujesz do zmiennej $query jedno zapytanie, potem tą zmienną NADPISUJESZ innym zapytaniem, a potem dopiero wykonujesz zapytanie więc to pierwsze nie może się wykonać, bo go nie ma już w tej zmiennej smile.gif
Inna rzecz, że funkcja mysql_query() przyjmuje w pierwszym parametrze zapytanie, a w drugim uchwyt do połączenia (u ciebie jest na odwrót).
modern-web
Reasumując:

1. Masz 2 zapytania, które określone są identyczną zmienną...
2. Jak masz A_I to nie możesz wstawiać danych ręcznie - wprowadzać ze zmiennych. To pole zostanie uzupełnione automatycznie smile.gif

  1. $query = "INSERT INTO klienci (id_klienta, imie, nazwisko, firma, nip, ulica, miejscowosc, kod_pocztowy, telefon, email)
  2.  
  3. VALUES ('$id_klienta', '$imie', '$nazwisko', '$firma', '$nip', '$ulica', '$miejscowosc', '$kod_pocztowy', '$telefon', '$email' )";


Zamień to na to:

  1. $query = "INSERT INTO klienci (id_klienta, imie, nazwisko, firma, nip, ulica, miejscowosc, kod_pocztowy, telefon, email)
  2.  
  3. VALUES ('', '$imie', '$nazwisko', '$firma', '$nip', '$ulica', '$miejscowosc', '$kod_pocztowy', '$telefon', '$email' )";
krzysztof.kt
  1.  
  2.  
  3. $query = "INSERT INTO przyjecie_sprzetu (id, data_przyjecia, rodzaj_sprzetu, marka, model, numer_seryjny, opis_usterki, stan_urzadzenia, akcesoria, uwagi, naprawiac_do_ceny)
  4.  
  5. VALUES (id, '$data_przyjecia', '$rodzaj_sprzetu', '$marka', '$model', '$numer_seryjny', '$opis_usterki', '$stan_urzadzenia', '$akcesoria',
  6. '$uwagi', '$naprawiac_do_ceny' )";
  7.  
  8. $query1 = "INSERT INTO klienci (id_klienta, imie, nazwisko, firma, nip, ulica, miejscowosc, kod_pocztowy, telefon, email)
  9.  
  10. VALUES (id_klienta, '$imie', '$nazwisko', '$firma', '$nip', '$ulica', '$miejscowosc', '$kod_pocztowy', '$telefon', '$email' )";
  11.  
  12.  
  13. mysqli_query($dbc, $query, $query1) //tu jest 49 linia
  14. or die('Błąd w zapytaniu do bazy danych.');
  15.  
  16. echo 'Zlecenie naprawy zostało przyjęte.</br>
  17. ';
  18.  
  19. mysqli_close($dbc);
  20. ?>


teraz mam po kliknięciu wyślij >>

Warning: mysqli_query() expects parameter 3 to be long, string given in /headfirst/kriss/addemail.php on line 49
Błąd w zapytaniu do bazy danych.
nospor
http://forum.php.pl/index.php?showtopic=16...mp;#entry802125
Czemu tworzysz kilka takich samych tematów? Jest to zabronione
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.