Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [SQL][PHP]Dodanie kilku rekordów do bazy danymiz formularza
wojtek1988
post 9.02.2013, 09:05:06
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Pierwsze koty za płoty. Drugi problem jaki mam to dodanie kilku wierszy do bazy damych mysql poprzez wypełnienia formularza post.
Wyświetlić 4 formularzepotrafie ale chyba źle formułuje zapytanie do bazy danych. Pomożcie mistrzowie smile.gif

Zamieszczam kod jaki mam do tej pory :






  1. <form action='' method="post">
  2. <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
  3. <tr><h5>Obowiązkowe pola oznaczone *</h5>
  4. <th style="text-align:center">NR </th>
  5. <th style="text-align:center">Nazwa* </th>
  6. <th style="text-align:center" >Adres internetowy </th>
  7. <th style="text-align:center" size="69">Adres</th>
  8. <th style="text-align:center">Telefon </th>
  9.  
  10. <th style="text-align:center">Uwagi </th>
  11.  
  12.  
  13.  
  14. </tr>
  15. </thead>
  16. <tr>


  1. for($i = 1; $i <=4; $i++) {


  1. <th style="text-align:center"><input type="text" size="3" value='' name="form[]"></th>
  2. <th style="text-align:center"><input type="text" value='' name="form[]"></th>
  3. <th style="text-align:center"><input type="text" value='' name="form[]"></th>
  4. <th style="text-align:center"><input type="text" value='' name="form[]"></th>
  5. <th style="text-align:center"><input type="text" value='' name="form[]"></th>
  6. <th style="text-align:center"><input type="text" value='' name="form[]"></th>
  7. </tr>

  1. }


  1. </br>
  2. <input type="hidden" value='1' name="send">
  3. <input type="submit" value='Dodaj producenta'>
  4. </form>

  1. }




  1. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  2.  
  3. // ustanawiamy poł&plusmn;czenie z serwerem baz danych
  4. // wybieramy bazę danych
  5. // konstruujemy zapytanie
  6. $zapytanie = "INSERT INTO producenci VALUES ";
  7. for($i = 0; $i < 6; $i++) {
  8. $zapytanie .= "('" . $_POST['form'][$i] . "')";
  9. if($i < 6 - 1)
  10. $zapytanie .= ", ";
  11. }
  12. // cała reszta kodu
  13. echo $zapytanie;
  14.  
  15.  
  16. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  17. header("refresh: 12; url=kontakty.php");
  18. }
  19.  
  20. echo ShowForm();



Podzieliłem cały kod odpowiednimi znacznikami ale nie wiem czy jest to czytelne....? ohno-smiley.gif




A może w inny sposób należy to zrobićquestionmark.gif

posidam tabele producenci która ma kolumny id, nazwa,adres www, adres, telefon, uwagi

Przekazanie tych danych poprzez tablice post . Następnie jak sformułowac zapytanie do bazy aby dodac np 4 wiersze jednoścześnie questionmark.gif

Ten post edytował wojtek1988 8.02.2013, 23:42:02
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 11:12:41
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Każde pole Twojego formularza ma taką samą nazwę...nie do końca rozumiem jak chcesz to zrobić.
Masz tablicę wartości z POST-a, ale nijak jej nie dzielisz na poszczególnych producentów.
Powinieneś mieć 4 formularze, ale niech Twoje pola nazywają się różnie, np:
  1. <input type="text" name="numer[]" />
  2. <input type="text" name="nazwa[]" />
  3. <input type="text" name="www[]" />
  4. <input type="text" name="adres[]" />
  5. <input type="text" name="telefon[]" />
  6. <input type="text" name="uwagi[]" />
I wtedy odbierając je w PHP odbierasz po kolei kolejne indeksy tablic i rozdzielasz je przecinkami (to, co zrobiłeś powyżej...jak ma zadziałać? masz 24 pola, a wpisujesz tylko 6). Czyli np.:
  1. $zapytanie = 'INSERT INTO producenci VALUES ';
  2. for($i = 0; $i < count($_POST['numer']); $i++){
  3. // walidujesz pola o poszczególnych indeksach
  4. // jeśli pola są poprawne, to dodajesz je do zapytania:
  5. $zapytanie .= '("'.$_POST['numer'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['www'][$i].'", "ciąg dalszy Twojego zapytania - powpisuj sobie kolejne zmienne POST ")';
  6. //dokończ sobie zapytanie sam :)
  7. if($i < count($_POST['numer']) - 1)
  8. {
  9. $zapytanie .= ', ';
  10. }
  11. }


Ten post edytował Michasko 9.02.2013, 16:21:18


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 13:27:56
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Wyswietlam 4 wiersze formularza i dodałem składnie mysql($zapytanie) ale nie jest dobre . ohno-smiley.gif
Wyświetla mi komuniktat Dodanie wyników nie powiodło sie ! ohno-smiley.gif
Zobaczcie smile.gif


  1.  
  2. for($i = 1; $i <=4; $i++) { ?>
  3. <th style="text-align:center"><input type="text" size="3" value='' name="id_producent[]"></th>
  4. <th style="text-align:center"><input type="text" value='' name="nazwa[]"></th>
  5. <th style="text-align:center"><input type="text" value='' name="url[]"></th>
  6. <th style="text-align:center"><input type="text" value='' name="adres[]"></th>
  7. <th style="text-align:center"><input type="text" value='' name="telefon[]"></th>
  8. <th style="text-align:center"><input type="text" value='' name="uwagi[]"></th>
  9. </tr> <?php }
  10.  
  11. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  12.  
  13. $zapytanie = 'INSERT INTO producenci VALUES ';
  14. for($i = 0; $i < count($_POST['numer']); $i++){
  15. // walidujesz pola o poszczególnych indeksach
  16. // je&para;li pola s&plusmn; poprawne, to dodajesz je do zapytania:
  17. $zapytanie .= '("'.$_POST['id_producent'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['url'][$i].'", "'.$_POST['adres'][$i].'" , "'.$_POST['telefon'][$i].'" , "'.$_POST['uwagi'][$i].'" ")';
  18. //dokończ sobie zapytanie sam :)
  19. if ( mysql_query($zapytanie) ) {
  20. echo "Dodano wyniki do tabeli ";
  21. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  22. header("refresh: 2; url=kontakty.php");
  23. }
  24. echo "Dodawanie wyników nie powiodło się!";
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. }
  33.  
  34. echo ShowForm();


Ten post edytował wojtek1988 9.02.2013, 13:44:06
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 13:46:49
Post #4





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Linia 17: masz niepotrzebny cudzysłów na końcu.
Na przyszłość dodaj mysql_error():
  1. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();


Ten post edytował Michasko 9.02.2013, 13:47:40


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 15:16:15
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Zastosowałem się do twoich wskazówek ale teraz mam komunikat :
"Dodawanie wyników nie powiodło się!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"INSERT INTO producenci VALUES' at line 1" ohno-smiley.gif ohno-smiley.gif
Co teraz? smile.gif
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 16:17:45
Post #6





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Widocznie nadal masz błąd w zapytaniu. Jak ono teraz wygląda?
edit:
Hej, hej, chwila chwila. A gdzie masz dodawanie przecinków pomiędzy kolejnymi rekordami do wpisania?
W tej chwili Twoje zapytanie wygląda tak:
  1. INSERT INTO producenci VALUES
  2. (1, 'asddasd', 'asdasdad', 'asdasdasd', 'asdasdads', 'asdasdad')
  3. (2, 'asddasd', 'asdasdad', 'asdasdasd', 'asdasdads', 'asdasdad')
  4. itd...

pomiędzy nawiasami musisz mieć przecinki. Czemu to usunąłeś? :|

Ten post edytował Michasko 9.02.2013, 16:21:57


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 16:41:29
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Wygląda to tak :
  1. <?php
  2. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  3.  
  4. $zapytanie = '"INSERT INTO producenci VALUES ';
  5. for($i = 0; $i < count($_POST['numer']); $i++){
  6. // walidujesz pola o poszczególnych indeksach
  7. // je&para;li pola s&plusmn; poprawne, to dodajesz je do zapytania:
  8. $zapytanie .= '("'.$_POST['id_producent'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['url'][$i].'", "'.$_POST['adres'][$i].'" , "'.$_POST['telefon'][$i].'" , "'.$_POST['uwagi'][$i].'" )';
  9. //dokończ sobie zapytanie sam :)
  10. if($i != count($_POST['numer']) - 1)
  11. {
  12. $zapytanie .= ', ';
  13. }
  14. }
  15.  
  16.  
  17. if ( mysql_query($zapytanie) ) {
  18. echo "Dodano wyniki do tabeli ";
  19. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  20. header("refresh: 2; url=kontakty.php");
  21. }
  22. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. }
  31.  
  32. echo ShowForm();


W miejscu numer wpisac id_produkt for($i = 0; $i < count($_POST['numer']); $i++){ prawda?


Gdy tak zrobie wyświetla mi bląd:
Dodawanie wyników nie powiodło się!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"INSERT INTO producenci VALUES ("9", "1111", "hgfhgbg", "hjbgjhgbjhgb" , "jhfbvf' at line 1


czyli już z czytuje dane podane w pierwszym wierszu ale ...dalej coś nie tak ohno-smiley.gif

Ten post edytował wojtek1988 9.02.2013, 16:59:07
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 17:07:13
Post #8





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Cytat
W miejscu numer wpisac id_produkt for($i = 0; $i < count($_POST['numer']); $i++){ prawda?
id_producent. Prawda.

Ten post edytował Michasko 9.02.2013, 17:07:40


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 17:22:41
Post #9





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


POkaże cały kod.
Najpierw formularz:
  1. for($i = 1; $i <=4; $i++) { ?>
  2. <th style="text-align:center"><input type="text" size="3" value='' name="id_producent[]"></th>
  3. <th style="text-align:center"><input type="text" value='' name="nazwa[]"></th>
  4. <th style="text-align:center"><input type="text" value='' name="url[]"></th>
  5. <th style="text-align:center"><input type="text" value='' name="adres[]"></th>
  6. <th style="text-align:center"><input type="text" value='' name="telefon[]"></th>
  7. <th style="text-align:center"><input type="text" value='' name="uwagi[]"></th>
  8. </tr> <?php } ?>
  9. </table>
  10. </br>
  11. <input type="hidden" value='1' name="send">
  12. <input type="submit" value='Dodaj producenta'>



Następnie reszte:
  1. <?php
  2. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  3. if(!empty($_POST["nazwa"])){ //oraz czy uzupełniono wszystkie dane
  4. if(mysql_num_rows(mysql_query("select * from producenci where nazwa='".htmlspecialchars($_POST["nazwa"]."'"))))ShowForm("Producent o podanej nazwie już jest w bazie!!!");
  5. elseif(mysql_num_rows(mysql_query("select * from producenci where id_producent='".htmlspecialchars($_POST["id_producent"]."'"))))ShowForm ("Podany numer jest już zajęty!!");
  6. else {
  7. $zapytanie = '"INSERT INTO producenci VALUES ';
  8. for($i = 0; $i < count($_POST['id_producent']); $i++){
  9. // walidujesz pola o poszczególnych indeksach
  10. // je&para;li pola s&plusmn; poprawne, to dodajesz je do zapytania:
  11. $zapytanie .= '("'.$_POST['id_producent'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['url'][$i].'", "'.$_POST['adres'][$i].'" , "'.$_POST['telefon'][$i].'" , "'.$_POST['uwagi'][$i].'" )';
  12. //dokończ sobie zapytanie sam :)
  13. if($i != count($_POST['id_producent']) - 1)
  14. {
  15. $zapytanie .= ', ';
  16. }
  17. }
  18.  
  19.  
  20. if ( mysql_query($zapytanie) ) {
  21. echo "Dodano wyniki do tabeli ";
  22. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  23. header("refresh: 2; url=kontakty.php");
  24. }
  25. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();
  26.  
  27.  
  28. }
  29.  
  30.  
  31. }
  32. else ShowForm("<b>Nie uzupełniono nazwy producenta!!!</b> </br>");
  33. }
  34. echo ShowForm();
  35.  
  36. ?>


Przy próbie dodania producentów wyskakuje mi komunikat:

Dodawanie wyników nie powiodło się!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"INSERT INTO producenci VALUES ("8", "nazwa1", "", "" , "" , "" ), ("", "nazwa2"' at line 1
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 17:27:33
Post #10





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Linia 7 - po co tam ten cudzysłów...?


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
teez
post 9.02.2013, 17:31:57
Post #11





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


Mogę wiedzieć czemu tak strasznie komplikujecie sprawę? Po co Wam te []? Po co w for? Nie lepiej użyć mysql_query z LIMIT 4 oraz while?

  1. <form action='plik.php' method="post">
  2. Imie :<input type="text" name="imie">
  3. <input type="submit" value='Dodaj producenta'>
  4. </form>



plik.php

  1.  
  2. <?
  3. $imie = $_POST['imie'];
  4. if(empty($_POST['imie'])){
  5. echo 'puste pole, uzupelnij';
  6. exit; }
  7. else {
  8. $zapytanie = "INSERT into baza ( `imie` ) values ($imie)";
  9. mysql_query($zapytanie);
  10. }
  11. ?>
  12.  
  13.  


Odczyt

  1. <?
  2. $zapytanie = "SELECT * FROM baza LIMIT 4";
  3. $rs = mysql_query($zapytanie);
  4. while($row = mysql_fetch_row){
  5. echo 'Imie producenta: '.$row.'';
  6. echo '</br>';
  7.  
  8. }
  9. ?>


Ten post edytował teez 9.02.2013, 17:44:03
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 17:35:07
Post #12





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Dla mnie Michasko jest mistrzem exclamation.gif!!!

Ale z chęcia posłucham innej rady teeza smile.gif
Go to the top of the page
+Quote Post
teez
post 9.02.2013, 17:37:11
Post #13





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


Michasko lepiej zna sytuację, sam dopiero zaczynam powazniej się w to bawić, ale skoro ty również zaczynasz to po co masz zawracać sobie głowę od początku takim czymś, skoro można prościej z identycznym efektem. Jeszcze przyjdzie czas na resztę. wink.gif

Ten post edytował teez 9.02.2013, 17:37:42
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 17:40:21
Post #14





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


@teez, źle przeczytałeś chyba. On chce dodać 4 rekordy na raz, a nie odczytać. LIMIT na nic się tutaj nie zda wink.gif

Ten post edytował Michasko 9.02.2013, 17:41:00


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
teez
post 9.02.2013, 17:43:26
Post #15





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


No to źle najwidoczniej odczytałem, zwracam honor. businesssmiley.png
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 18:08:02
Post #16





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


Dodanie 4 rekordów działa ale nie waliduje nie podania nazwy, któa jest obowiązkowa itp ..Zły układ mam chyba..
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 18:54:11
Post #17





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Zwróć uwagę, że kilka pól u Ciebie ma atrybut name równy "nazwa[]". Oznacza to, że po przesłaniu do PHP Twoja zmienna $_POST['nazwa'] (zobacz 3. linijke ostatniego kodu) będzie tablicą, zatem pisząc:
  1. if(!empty($_POST['nazwa']))
sprawdzasz, czy tablica jest pusta, a nie czy poszczególne pola formularza są puste.
Walidację powinieneś przeprowadzać w pętli, w której "sklejasz" zapytanie. Np. w ten sposób:
  1. // początek pętli for
  2. if(!empty($_POST['nazwa'][$i]))
  3. {
  4. // sklejasz zapytanie
  5. }
  6. else
  7. {
  8. echo "Błąd! Nazwa nie może być pusta!";
  9. break;
  10. }
  11. //koniec pętli for


Ten post edytował Michasko 9.02.2013, 18:56:52


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 19:14:17
Post #18





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


A w moim przypadku jak sformułować kod aby nie podanie nazwy wywałało komunikat ze nie uzupełniona jest nazwa i id_produkt nie moze byc powtarzany?

Napisałem tak ale nie działa:
  1. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  2. if(!empty($_POST['nazwa'][$i])) //oraz czy uzupełniono wszystkie dane
  3. {
  4. $zapytanie = 'INSERT INTO producenci VALUES ';
  5. for($i = 0; $i < count($_POST['id_producent']); $i++){
  6. // walidujesz pola o poszczególnych indeksach
  7. // je&para;li pola s&plusmn; poprawne, to dodajesz je do zapytania:
  8. $zapytanie .= '("'.$_POST['id_producent'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['url'][$i].'", "'.$_POST['adres'][$i].'" , "'.$_POST['telefon'][$i].'" , "'.$_POST['uwagi'][$i].'" )';
  9. //dokończ sobie zapytanie sam :)
  10. if($i != count($_POST['id_producent']) - 1)
  11. {
  12. $zapytanie .= ', ';
  13. }
  14. }
  15.  
  16.  
  17. if ( mysql_query($zapytanie) ) {
  18. echo "Dodano wyniki do tabeli ";
  19. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  20. header("refresh: 2; url=kontakty.php");
  21. }
  22. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();
  23.  
  24. }
  25. else
  26. {
  27.  
  28. echo"<b>Nie uzupełniono nazwy producenta!!!</b> </br>";
  29.  
  30.  
  31. }
  32. }
  33. echo ShowForm();
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 19:21:23
Post #19





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Chłopie, czytaj uważnie:) Walidację masz przeprowadzać W PĘTLI. Nie przed nią.
  1. if(isset($_POST['send']) && $_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  2. $zapytanie = 'INSERT INTO producenci VALUES ';
  3. for($i = 0; $i < count($_POST['id_producent']); $i++){
  4. if(!empty($_POST['nazwa'][$i])) {
  5. echo "Pole \"nazwa\" nie może być puste!";
  6. }
  7. else
  8. {
  9. $zapytanie .= '("'.$_POST['id_producent'][$i].'", "'.$_POST['nazwa'][$i].'", "'.$_POST['url'][$i].'", "'.$_POST['adres'][$i].'" , "'.$_POST['telefon'][$i].'" , "'.$_POST['uwagi'][$i].'" )';
  10. if($i != count($_POST['id_producent']) - 1)
  11. {
  12. $zapytanie .= ', ';
  13. }
  14. }
  15. }
  16.  
  17.  
  18. if ( mysql_query($zapytanie) ) {
  19. echo "Dodano wyniki do tabeli ";
  20. echo "Producent został poprawnie dodany!<br />Za chwilę nastąpi przekierowanie kontaktów. Proszę czekać.";
  21. header("refresh: 2; url=kontakty.php");
  22. }
  23. else
  24. {
  25. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();
  26. }
  27. }
  28. echo ShowForm();
Jeśli chodzi o ID - jeśli chcesz je koniecznie nadawać ręcznie (jak to robisz teraz), to musisz je najpierw wyciągnąć z bazy, a potem w każdym obrocie pętli sprawdzać, czy nie podałeś jakiegoś, które się powtarza - mało wydajne.
Najlepiej byłoby, gdyby pole `id_producenta` w Twojej bazie danych miało właściwość AUTO_INCREMENT. Wtedy nie musisz podawać ID ręcznie, a zostanie ono przypisane automatycznie przez system bazy danych.

Ten post edytował Michasko 9.02.2013, 19:24:56


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
wojtek1988
post 9.02.2013, 20:02:13
Post #20





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 8.02.2013

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


@Michasko w 4 linijce usunąłem znak ! ponieważ odwronie działało smile.gif WIelkie dzięki mam nadzieję, zę jutro też bęzdiesz na forum smile.gif

Na dziś już koniec ale jutro będe dalej walczył.Bedziesz jutro?
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 20:23