Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]wstawienie danych do tabeli przy pomocy explode()
wojzem
post
Post #1





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

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


Użytkownik wprowadza dane w polu formularza oddzielone średnikami, które odbieram funkcją explode.

  1. <?php
  2. $input = explode('n', $_POST['dane']); 
  3.  
  4. foreach($input as $value) {
  5. $value = explode(';', $value);
  6. }
  7. ?>


Dotąd wszystko działa. Nie mogę sobie jednak poradzić ze wstawieniem danych do MySQL. To znaczy mógłbym rozpisać je

  1. <?php
  2. $insert = 'INSERT INTO tabela (id, dane) VALUES (' ', 'value[0]'),(' ', 'value[1]'),(' ', 'value[2]')';
  3. ?>


itd. ale nie jestem w stanie z góry przewidzieć, ile będzie będzie elementów do wstawienia. Czy jest możliwe napisanie skryptu, który będzie sprawdzał wartość kolejnych elementów i wstawiał je w odpowiednie pola tabeli?
Go to the top of the page
+Quote Post
pojas
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Może uratuje Cie funkcja count" title="Zobacz w manualu PHP" target="_manual ( Zlicza ilość elementów w tablicy lub pól obiektu ) ? Już znasz ilość elementów tablicy i możesz stworzyć zapytanie za pomocą pętli. guitar.gif
Go to the top of the page
+Quote Post
wojzem
post
Post #3





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

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


Cytat(pojas @ 1.08.2007, 16:42:33 ) *
Może uratuje Cie funkcja count" title="Zobacz w manualu PHP" target="_manual ( Zlicza ilość elementów w tablicy lub pól obiektu ) ? Już znasz ilość elementów tablicy i możesz stworzyć zapytanie za pomocą pętli. guitar.gif


lama jestem i nie umiem stworzyć zapytania za pomocą pętli, to znaczy takiego sprytnego zapytania, które wrzucałoby poszczególne elementy od razu do bazy danych sad.gif
Go to the top of the page
+Quote Post
pojas
post
Post #4





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Cytat
  1. <?php
  2. $insert = 'INSERT INTO tabela (id, dane) VALUES (' ', 'value[0]'),(' ', 'value[1]'),(' ', 'value[2]')';
  3. ?>
Nie rozumie tego, przecież określone są dwa pola ( id, dane ), więc czemu potem pisze VALUES i trzy pola?

Cytat
Użytkownik wprowadza dane w polu formularza oddzielone średnikami

Czemu muszą być odzielone, można przecież zrobić więcej pól input (niektóre mogą zostać niewypełnione ).

Dziwacznie to jest napisane, albo ja nie potrafię tego pojąć .
Opisz cały problem bardziej szczegółowo, jeśli chcesz guitar.gif


a to jest pętla
  1. <?php
  2.  
  3. $array = array( 0=>'zero', 1=>'jeden' );
  4.  
  5.  
  6. for( $i=0; $i<count( $array ); $i++ )
  7. {
  8. // jeśli tablica ma 2 elementy, pętla wykona się 2 razy 
  9. echo $array[$i].' ';
  10. }
  11.  
  12.  
  13. ?>


Ten post edytował pojas 1.08.2007, 16:45:53
Go to the top of the page
+Quote Post
wojzem
post
Post #5





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

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


miałeś racje, count elegancko rozwiązało problem:

  1. <?php
  2. $wynik = count($value);
  3.  
  4. for ($i = 0; $i < $wynik; $i++) {
  5. $insert = 'INSERT INTO tabela (id, dane) VALUES (' ', 'value[$i]')';
  6. }
  7. ?>


chwilę trwało, zanim zajarzyłem, o co chodzi winksmiley.jpg dziękuję za pomoc!
Go to the top of the page
+Quote Post

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: 22.08.2025 - 10:57