Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] [mysql] Jak zapisać masowo rekordy bo bazy
barthez
post 24.09.2007, 14:12:33
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.04.2006

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


Witam serdecznie, próbuje różnymi metodami zapisywać dane z formularza do bazy danych.Otóż jest to masowe zapisanie rekordów do tej samej tabeli.
Robie mały sklep gdzie po wyszukaniu towaru wyswietla się np: 30 towarów, gdzie przy kazdym towarze wyświetla się nazwa towaru, ilosc dostepnych, cena, pole ile chcemy danego towaru, oraz checkbox. Problem polega na tym że zawsze pobiera mi dane ostatniej zamówionej rzeczy. Wybieram 10 towarów, zaznaczam checkbox, i zawsze dopisuje mi ostatni towar do bazy.

Pobieram rekordy

  1. <?php
  2. function pobierz_k()
  3. {
  4.  // zapytanie bazy danych o książki w danej kategorii
  5.  
  6.  
  7.  $bd_lacz = ibase_connect( 'j.gdb' , 'SYSDBA' , 'masterkey');
  8.  
  9.  if (!$bd_lacz) {
  10.  echo 'brak polaczenia' ;
  11.  exit;
  12.  }
  13.  $zapytanie = "select * from TOWARY where IDKAT=$IDKAT ";
  14. $wynik =ibase_query($zapytanie);
  15.  if (!$wynik)
  16.  return false;
  17.  $ilosc_ksiazek =ibase_num_fields($wynik);
  18.  if ($ilosc_ksiazek ==0)
  19. return false;
  20.  $wynik = wynik_bd_do_tablicy($wynik);
  21.  return $wynik;
  22. }
  23. ?>


Tak wyświetlam dane
  1. <?php
  2. function wyswietl_k($tablica_k)
  3. {
  4. //wyświetlenie wszystkich książek z przekazanej tablicy
  5. if (!is_array($tablica_k))
  6. {
  7.  echo '<br />Brak aktualnie dostępnych książek w tej kategorii<br />';
  8. }
  9. else
  10. {
  11.  
  12.  
  13. //stworzenie tabeli
  14.  
  15. echo '<table width = \"100%\" border=1 rules=rows >';
  16.  echo '<tr><th width=100 align=left> kod produktu</th><th width=200 align=left> nazwa produktu</th><th width=200 align=center>przeglądaj</th><th width=100 align=center>dostępna ilość</th><th width=50 align=center>cena </th><th width=50> koszyk</tr>';
  17. //stworzenie wiersza tabeli dla każdej książki
  18. foreach ($tablica_k as $rzad)
  19. {
  20.  $url = 'pokaz_towar.php?kodproduktu='.($rzad['KOD_PRODUKTU']);
  21. echo '<form action="dodano_towary_do_kosza.php" method="post">';
  22. echo '<tr valign=left><td width=100><input type=hidden name=KOD_PRODUKTU value=' .$rzad['KOD_PRODUKTU'].' />' .$rzad['KOD_PRODUKTU'].'</td><td width=200><input type=hidden name=NAGLOWEK value=' .$rzad['NAGLOWEK'].' />' .$rzad['NAGLOWEK'].'</td><td width=200 align=center><a href =pokaz_ksiazke.php?kodproduktu='.($rzad['KOD_PRODUKTU']).'>Zobacz produkt</a></td><td width=100 align=center>' .$rzad['ILOSC_DOSTEPNYCH'].'</td><td width=50 align=center><input type=hidden name=CENA value=' .$rzad['CENA'].'>' .$rzad['CENA'].'</td><td align=center><input type=text size=5 name=ILOSC value=0 ></td><td><input type=checkbox name=ok ></td></tr>';
  23. tworz_html_url($url, $tytul);
  24. }
  25. echo '</table>';
  26.  echo ' <input type="submit" value="dodaj do kosza">
  27.  </form>';
  28. ?>

Funkcja wstawiajaca dane

  1. <?php
  2. function wstaw()
  3. {
  4.  // zapytanie bazy danych o listę kategorii
  5.  $bd_lacz = ibase_connect( 'j.gdb' , 'SYSDBA' , 'masterkey');
  6.  
  7.  if (!$bd_lacz) {
  8.  echo 'brak polaczenia' ;
  9.  exit;
  10.  }
  11.  
  12. $KOD_PRODUKTU=$_POST ['KOD_PRODUKTU'] ;
  13. $NAGLOWEK=$_POST ['NAGLOWEK'] ;
  14. $CENA=$_POST ['CENA'] ;
  15. $ILOSC=$_POST ['ILOSC'] ;
  16. $ok=$_POST ['ok'];
  17.  if($ok)
  18.  {
  19.  
  20. $zapytanie = " INSERT INTO KOSZYK (KOD_PRODUKTU,NAGLOWEK,CENA,ILOSC_DODANYCH,SESJA) values ( '$KOD_PRODUKTU','$NAGLOWEK', '$CENA', '$ILOSC','".$_SESSION['uzyt_admin']."') ";
  21. $sth = ibase_query($bd_lacz, $zapytanie) or die(ibase_errmsg()) ; }
  22.  {
  23. if (!$sth)
  24. {
  25. echo ' nie udało się';
  26. }
  27.  else
  28.  {
  29.  echo 'dopisałeś włąsnie towar do koszyka' ;
  30.  }}
  31.  
  32.  
  33.  
  34. }
  35. ?>


Oczywiście w index mam wywołanie tych funkcji, ale istotą rzeczy jest to , że zapisuje tylko ostatni zaznaczony towar, a powinien wszystkie...Bedę wdzięczny za pomoc

Ten post edytował barthez 24.09.2007, 17:18:48
Go to the top of the page
+Quote Post
Cysiaczek
post 24.09.2007, 15:44:05
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ja też będe wdzięczny... za poprawienie tematu na zgodny z zasadami forum Przedszkole

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
tomeksobczak
post 24.09.2007, 15:53:35
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 10
Dołączył: 6.07.2007
Skąd: opole

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


  1. <input type=hidden name=KOD_PRODUKTU[] value=' .$rzad['KOD_PRODUKTU'].' />


a w php pod nazwa zmiennej pojawi sie tablica z kodami


autopoprawka
  1. <input type=hidden name=KOD_PRODUKTU[ID_Z_BAZY] value=' .$rzad['KOD_PRODUKTU'].' />


Ten post edytował tomeksobczak 24.09.2007, 15:54:38


--------------------
Go to the top of the page
+Quote Post
barthez
post 25.09.2007, 07:13:17
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.04.2006

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


Jednak to nie to sad.gif Kurcze...
Go to the top of the page
+Quote Post
PawelC
post 25.09.2007, 22:34:43
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Zobacz tak
Kod
$zapytanie = " INSERT INTO KOSZYK (`KOD_PRODUKTU`,`NAGLOWEK`,`CENA`,`ILOSC_DODANYCH`,`SESJA`)
values ( '$KOD_PRODUKTU','$NAGLOWEK', '$CENA', '$ILOSC','.$_SESSION['uzyt_admin'].') ";


Ten post edytował ExPlOiT 25.09.2007, 22:35:09
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 Wersja Lo-Fi Aktualny czas: 8.07.2025 - 06:48