Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [mysql] Jak zapisać masowo rekordy bo bazy
barthez
post
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

Posty w temacie


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 - 22:47