Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie rekordu do wybranej bazy danych, pomocy!!!
salva
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


zaczne od tego ze zrobilem dodawanie do bazy danych, jednak nie umie zrobic z dodawaniem do wybranej z paska rozwijalnego

  1. <?php
  2.  
  3. echo "Dodawanie rekordow do bazy";
  4.  
  5.  
  6.  
  7. if (isset($_POST['baza'])){
  8.  
  9.  
  10. $model = $_POST['model'];
  11. $silnik = $_POST['silnik'];
  12. $rocznik = $_POST['rocznik'];
  13. if($model and $silnik and $rocznik ) {
  14.  
  15. // łączymy się z bazą danych
  16. $connection = @mysql_connect('localhost', 'root', '')
  17. or die('Brak połączenia z serwerem MySQL');
  18. $db = @mysql_select_db('somochody', $connection)
  19. or die('Nie mogę połączyć się z bazą danych');
  20.  
  21.  
  22. $add = $pdo -> exec("INSERT INTO somochody(audi, seat) VALUES('$model','$silnik','$rocznik')");
  23.  
  24.  
  25. if ($add) { echo '<p>dodano samochod</p>';
  26. } else { echo '<p>nie dodano samochodu</p>'
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. ?>
  35.  
  36. <form action="dodwyb.php" method="post">
  37. <select name="baza" action="value">
  38. <option value="">Wybierz kategorie</option>
  39. <option value="audi">audi</option>
  40. <option value="seat">seat</option>
  41. </select><br />
  42. model:<br />
  43. <input type="text" name="model" /><br />
  44. silnik:<br />
  45. <input type="int" name="silnik" /><br />
  46. roczink:<br />
  47. <input type="int" name="rocznik" /><br />
  48. <input type="submit" value="dodaj" />
  49. </form>
  50.  


Mam utworzona baze danych o nazwie "somochody" a w niej dwie tabele "audi", "seat". Pewnie mam to źle zrobione. Chciałbym abym z paska rozwijalnego wybrac tabele do ktorej chce dodac rekord. Lecz nie wiem jak to zapisac dokladnie. Po za tym w tym kodzie wywala mi blad w ostatniej linijce przy "</form>", tez nie wiem dlaczego. Bardzo prosze o jakas pomoc

Ten post edytował salva 8.01.2015, 18:43:51
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Bazę masz jedną. Lista wyboru powinna się nazywać raczej "tabela".
<select name="tabela">
Select nie ma atrybutu "action".

  1. if (isset($_POST['tabela'])){
  2. .
  3. .
  4. .
  5.  
  6. "INSERT INTO ".$_POST['tabela']." VALUES('$model','$silnik','$rocznik')"


Mieszasz tam funkcje mysql_ z metodami biblioteki PDO. Nawet jak zbudujesz poprawnie zapytanie, to i tak nie wstawi rekordu do tabeli.

----

A co najważniejsze, nie powinieneś mieć osobnych tabel dla marek.
Powinna to być jedna tabela z dodatkową kolumną "marka", a jeszcze lepiej gdyby były dwie tabele "marka" i "auto", gdzie w "auto" jest klucz obcy "id_marka" powiązany z kluczem głównym w tabeli "marka".


--------------------
Go to the top of the page
+Quote Post
salva
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1. <?php
  2.  
  3. echo "Dodawanie rekordow do bazy";
  4.  
  5.  
  6.  
  7. if (isset($_POST['tabela'])){
  8.  
  9.  
  10. $model = $_POST['model'];
  11. $silnik = $_POST['silnik'];
  12. $rocznik = $_POST['rocznik'];
  13. if($model and $silnik and $rocznik ) {
  14.  
  15. // łączymy się z bazą danych
  16. $connection = @mysql_connect('localhost', 'root', '')
  17. or die('Brak połączenia z serwerem MySQL');
  18. $db = @mysql_select_db('somochody', $connection)
  19. or die('Nie mogę połączyć się z bazą danych');
  20.  
  21.  
  22. "INSERT INTO" $_POST['tabela'] VALUES"('$model','$silnik','$rocznik')";
  23.  
  24.  
  25. if ($add) { echo '<p>dodano samochod</p>';
  26. } else { echo '<p>nie dodano samochodu</p>'
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. ?>
  35.  
  36. <form action="dodwyb.php" method="post">
  37. <select name="tabela" >
  38. <option value="">Wybierz kategorie</option>
  39. <option value="audi">audi</option>
  40. <option value="seat">seat</option>
  41. </select><br />
  42. model:<br />
  43. <input type="text" name="model" /><br />
  44. silnik:<br />
  45. <input type="int" name="silnik" /><br />
  46. roczink:<br />
  47. <input type="int" name="rocznik" /><br />
  48. <input type="submit" value="dodaj" />
  49. </form>
  50.  


poprawilem na takie, ale wywala mi blad w linijce z " INSERT"

Parse error: syntax error, unexpected T_VARIABLE in C:\WebServ\httpd\dodwyb.php on line 22
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Zapytanie samo się nie wykona.

http://php.net/manual/pl/function.mysql-query.php

http://d9.com.pl/php-pdo-mysql-samouczek/#dodawanie




--------------------
Go to the top of the page
+Quote Post
salva
post
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1. $result = mysql_query("INSERT INTO" $_POST['tabela'] " VALUES ('$model','$silnik','$rocznik')";)
  2. or die("Zapytanie niepoprawne");
  3.  


napisalem cos takiego, slabo mi to idzie, a potrzebuje miec zrobione na jutro, wiec prosze o cierpliwosc i kolejne wskazowki

wywala:
Parse error: syntax error, unexpected T_VARIABLE in C:\WebServ\httpd\dodwyb.php on line 23
Go to the top of the page
+Quote Post
ctom
post
Post #6





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


popatrz jak @trueblue połączył "stringi" w zapytaniu a jak Ty


--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post
salva
post
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


jego:

"INSERT INTO ".$_POST['tabela']." VALUES('$model','$silnik','$rocznik')"

moje:
("INSERT INTO" .$_POST['tabela']. " VALUES('$model','$silnik','$rocznik')"

poprawilem kropki i nie widze roznicy

Ten post edytował salva 8.01.2015, 21:49:08
Go to the top of the page
+Quote Post
ctom
post
Post #8





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


Cytat(salva @ 8.01.2015, 21:48:44 ) *
poprawilem kropki i nie widze roznicy

to może analizuj znak po znaku

po drugie czytaj błędy i sprawdź czy wszystkie zmienne przekazujesz do tego zapytania - pomoże Ci var_dump()



--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post
salva
post
Post #9





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1. $add = $result
  2. $result = mysql_query("INSERT INTO" .$_POST['tabela']. " VALUES('$model','$silnik','$rocznik')";)
  3. or die("Zapytanie niepoprawne");
  4.  
  5. if ($add) { echo '<p>dodano samochod</p>';
  6. } else { echo '<p>nie dodano samochodu</p>'


no nie moge tero rozgryzc
Go to the top of the page
+Quote Post
com
post
Post #10





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


$add = $result questionmark.gif



  1. $result = mysql_query("INSERT INTO {$_POST['tabela']} VALUES('$model','$silnik','$rocznik')");


if ($add)
zawsze zwróci true ;]

Ten post edytował com 8.01.2015, 23:05:20
Go to the top of the page
+Quote Post
salva
post
Post #11





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


poprawilem na:

  1. $result = mysql_query("INSERT INTO" .$_POST['tabela']. " VALUES('$model','$silnik','$rocznik')")
  2. or die("Zapytanie niepoprawne");
  3.  
  4. if ($add) { echo '<p>dodano samochod</p>';
  5. } else { echo '<p>nie dodano samochodu</p>'


teraz mi znów wywala bład w 49 linijce przy
  1. </form>


Parse error: syntax error, unexpected $end in C:\WebServ\httpd\dodwyb.php on line 49

Ten post edytował salva 8.01.2015, 23:04:41
Go to the top of the page
+Quote Post
com
post
Post #12





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


a widzisz różnice miedzy moim kodem a twoim? i nie ma tam napewno </form> bo php nie parsuje htmla

bo nie zamykasz else
Go to the top of the page
+Quote Post
salva
post
Post #13





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1. <?php
  2.  
  3. echo "Dodawanie rekordow do bazy";
  4.  
  5.  
  6.  
  7. if (isset($_POST['tabela'])){
  8.  
  9.  
  10. $model = $_POST['model'];
  11. $silnik = $_POST['silnik'];
  12. $rocznik = $_POST['rocznik'];
  13. if($model and $silnik and $rocznik ) {
  14.  
  15. // łączymy się z bazą danych
  16. $connection = @mysql_connect('localhost', 'root', '')
  17. or die('Brak połączenia z serwerem MySQL');
  18. $db = @mysql_select_db('somochody', $connection)
  19. or die('Nie mogę połączyć się z bazą danych');
  20.  
  21.  
  22. $result = mysql_query("INSERT INTO" .$_POST['tabela']. " VALUES('$model','$silnik','$rocznik')")
  23. or die("Zapytanie niepoprawne");
  24.  
  25. if ($add){
  26. echo '<p>dodano samochod</p>';}
  27. else
  28. echo '<p>nie dodano samochodu</p>';
  29. };
  30. };
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. ?>
  39.  
  40. <form action="dodwyb.php" method="post">
  41. <select name="tabela" >
  42. <option value="">Wybierz kategorie</option>
  43. <option value="audi">audi</option>
  44. <option value="seat">seat</option>
  45. </select><br />
  46. model:<br />
  47. <input type="text" name="model" /><br />
  48. silnik:<br />
  49. <input type="int" name="silnik" /><br />
  50. roczink:<br />
  51. <input type="int" name="rocznik" /><br />
  52. <input type="submit" value="dodaj" />
  53. </form>


poprawilem juz mi nie wywala błedow, natomiast wywala zapytanie niepoprawne
Dodawanie rekordow do bazyZapytanie niepoprawne
Go to the top of the page
+Quote Post
com
post
Post #14





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


po } nie dajesz ; chyba że tworzysz funkcje anonimowe, po raz kolejny powiem tu masz rozwiązanie
http://forum.php.pl/index.php?s=&showt...t&p=1139249

Ten post edytował com 8.01.2015, 23:23:18
Go to the top of the page
+Quote Post
salva
post
Post #15





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


poprawilem te ";", lecz dalej nie moge se dac z tym rady
Go to the top of the page
+Quote Post
com
post
Post #16





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


masz odpowiedź czemu jej żywcem nie wkleisz do kodu ? Do 3 razy sztuka :
http://forum.php.pl/index.php?s=&showt...t&p=1139249

Wejdź podmień swój $result odpal baaasmiley.gif
Go to the top of the page
+Quote Post
salva
post
Post #17





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1.  
  2. $add = mysql_query("INSERT INTO" .$_POST['tabela']. " VALUES('$model','$silnik','$rocznik')")
  3. or die("Zapytanie niepoprawne");
  4.  
  5. if ($add){
  6. echo '<p>dodano samochod</p>';}
  7. else
  8. echo '<p>nie dodano samochodu</p>';
  9. }
  10. }
  11.  
  12.  


nie wiem czy oto chodzilo stawiam ze oto ale dalej mi wywala zapytanie niepoprawne
Go to the top of the page
+Quote Post
com
post
Post #18





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Widzę muszę samemu zrobić Ci to kopuj wklej:
  1. $add = mysql_query("INSERT INTO {$_POST['tabela']} VALUES('$model','$silnik','$rocznik')")
  2. or die("Zapytanie niepoprawne");
  3.  
  4. if ($add){
  5. echo '<p>dodano samochod</p>';}
  6. else
  7. echo '<p>nie dodano samochodu</p>';
  8. }
  9. }
Go to the top of the page
+Quote Post
salva
post
Post #19





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (10%)
X----


  1. <?php
  2.  
  3. echo "Dodawanie rekordow do bazy";
  4.  
  5.  
  6. if (isset($_POST['tabela'])){
  7.  
  8. $model = $_POST['model'];
  9. $silnik = $_POST['silnik'];
  10. $rocznik = $_POST['rocznik'];
  11. if($model and $silnik and $rocznik ) {
  12.  
  13. // łączymy się z bazą danych
  14. $connection = @mysql_connect('localhost', 'root', '')
  15. or die('Brak połączenia z serwerem MySQL');
  16. $db = @mysql_select_db('somochody', $connection)
  17. or die('Nie mogę połączyć się z bazą danych');
  18.  
  19.  
  20. $add = mysql_query("INSERT INTO {$_POST['tabela']} VALUES('$model','$silnik','$rocznik')")
  21. or die("Zapytanie niepoprawne");
  22.  
  23. if ($add){
  24. echo '<p>dodano samochod</p>';}
  25. else
  26. echo '<p>nie dodano samochodu</p>';
  27. }
  28. }
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. ?>
  36.  
  37. <form action="dodwyb.php" method="post">
  38. <select name="tabela" >
  39. <option value="">Wybierz kategorie</option>
  40. <option value="audi">audi</option>
  41. <option value="seat">seat</option>
  42. </select><br />
  43. model:<br />
  44. <input type="text" name="model" /><br />
  45. silnik:<br />
  46. <input type="int" name="silnik" /><br />
  47. roczink:<br />
  48. <input type="int" name="rocznik" /><br />
  49. <input type="submit" value="dodaj" />
  50. </form>


Podmnieniłem tylko dalej wywala zapytanie niepoprawe. Masz jeszcze jakas sugestie??

Moze zle mysle no ale gdzie tu jest zatwierdzone ze $_POST['tabela'] to tabela audi lub seat questionmark.gif Moze to jest zle zrobione

Ten post edytował salva 8.01.2015, 23:49:07
Go to the top of the page
+Quote Post
com
post
Post #20





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


var_dump("INSERT INTO {$_POST['tabela']} VALUES('$model','$silnik','$rocznik')"); i wynik
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 20.08.2025 - 01:37