Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Problem z obsługą dużego formularza
weisu
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.05.2008

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


Problem jest następujący, mam formularz (nie, nie chciało mi się go rozpisywać, ale tak mi wygodniej było):
  1. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  2.  
  3.  
  4. <br /><br /><br />
  5.  
  6. <tr><td colspan="4">Ceny</td></tr>
  7. </thead>
  8. <tr>
  9. <td><input type="text" name="0a"></td>
  10. <td><input type="text" name="0b"></td>
  11. <td><input type="text" name="0c"></td>
  12. <td><input type="text" name="0d"></td>
  13. </tr>
  14. <tr>
  15. <td><input type="text" name="1a"></td>
  16. <td><input type="text" name="1b"></td>
  17. <td><input type="text" name="1c"></td>
  18. <td><input type="text" name="1d"></td>
  19. </tr>
  20. <tr>
  21. <td><input type="text" name="2a"></td>
  22. <td><input type="text" name="2b"></td>
  23. <td><input type="text" name="2c"></td>
  24. <td><input type="text" name="2d"></td>
  25. </tr>
  26.  
  27. //przyciąłem
  28.  
  29.  
  30. <tr>
  31. <td><input type="text" name="11a"></td>
  32. <td><input type="text" name="11b"></td>
  33. <td><input type="text" name="11c"></td>
  34. <td><input type="text" name="11d"></td>
  35. </tr>
  36. </tbody>
  37.  
  38.  
  39.  
  40. <div align="center"><input type="submit" name="submit" value="Dodaj" /></div>
  41.  
  42.  
  43. </form>


Teraz muszę odczytać te rekordy i zapisać do bazy danych. Starałem się zapisać to do tablicy za pomocą pętli for a potem do bazy ale nic z tego, mógłby ktoś wytłumaczyć (najlepiej łopatologicznie) jak należy to zrobić, albo napisać i objaśnić taką pętlę, bo ja tak kombinowałem że żal się robi takich głupot..
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




robisz to tak że w pliku php w twoim wypadku na tej samej stronie włączasz php i robisz tak:

  1. <?php
  2. $0a = $_POST['0a'];
  3. $0b = $_POST['0b'];
  4. //itd...
  5.  
  6. $sql = "INSERT INTO tabela SET
  7. nazwa_kol='$0a',
  8. nazwa_kol2='$0b'";//itd....
  9.  
  10. ?>


wsio.

Ten post edytował piotrooo89 24.05.2008, 13:54:20
Go to the top of the page
+Quote Post
weisu
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.05.2008

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


Tak, do tego doszedłem właśnie też, ale czy nie dałoby się zrobić tego za pomocą pętli? Przy znacznie większej tablicy zabawa w coś takiego jest niemożliwa.
Go to the top of the page
+Quote Post
cbagov
post
Post #4





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

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


zamiast
<input type="text" name="11d">

czyli name="11d"

zmien na

name="tablica[]"

czyli
<tr>
<input type="text" name="tablica[]">
<input type="text" name="tablica[]">
<input type="text" name="tablica[]">

<TR>
<input type="text" name="tablica2[]">
<input type="text" name="tablica2[]">
<input type="text" name="tablica2[]">

itd.


a potem odczytasz $tablica w PHP z $_POST lub $_GET zaleznie jak tam sobie wyslesz.
Go to the top of the page
+Quote Post
.radex
post
Post #5





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Od kiedy nazwa zmiennej w php może się zaczynać od cyfry?
Go to the top of the page
+Quote Post
weisu
post
Post #6





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.05.2008

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


cbagov szkoda że wcześniej Cie na forum nie było, miałbym znacznie łatiwej (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)

radex_p z tego co wiem nie może, dlatego rozwiązałem to w ten sposób:

  1. <?php
  2. $tabela[] = $_POST['0a'];
  3. $tabela[] = $_POST['0b'];
  4. $tabela[] = $_POST['0c'];
  5. $tabela[] = $_POST['0d'];
  6.  
  7. $tabela[] = $_POST['1a'];
  8. $tabela[] = $_POST['1b'];
  9. $tabela[] = $_POST['1c'];
  10. $tabela[] = $_POST['1d'];
  11.  
  12. // [...]
  13.  
  14. $tabela[] = $_POST['11a'];
  15. $tabela[] = $_POST['11b'];
  16. $tabela[] = $_POST['11c'];
  17. $tabela[] = $_POST['11d'];
  18. ?>


Nie, nie chciało mi się tego pisać dlatego wygenerowałem se to programikiem w ruby (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
cbagov
post
Post #7





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

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


Ale cos tu pomieszane, po co to przypisanie ? Przeciez tablica w formie sie sama tworzy.
Go to the top of the page
+Quote Post
weisu
post
Post #8





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.05.2008

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


W Twoim przykładzie tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) U mnie nie, bo już mi się zmieniać nie chciało, aczkolwiek zapamiętam sobie tą metode na przyszłość (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dzięki!
Go to the top of the page
+Quote Post
Athlan
post
Post #9





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


@radex_p, w tym przypadku name jest nazwą klucza tablicą $_POST, a nie nazwą zmiennej.
Go to the top of the page
+Quote Post
.radex
post
Post #10





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Athlan - wiem, ale piotrooo89 napisał tak:

  1. <?php
  2. (...)
  3. $0a = $_POST['0a'];
  4. $0b = $_POST['0b'];
  5. (...)
  6. ?>


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:58