Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Pomoc w dodawaniu tablicy do bazy danych
grzes22
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.11.2007

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


Witam mam taki oto problem. Mianowicie chce dane z jednego formularza zapisywać do dwóech tabel.
Mam taką bazę danych
  1. CREATE TABLE kupony (
  2. idkupony INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. uzytkownik_iduser INTEGER UNSIGNED NOT NULL,
  4. data_kuponu DATE NULL,
  5. stawka DOUBLE NULL,
  6. bukmacher VARCHAR(45) NULL,
  7. ako DOUBLE NULL,
  8. rozliczenie VARCHAR(12) NULL,
  9. PRIMARY KEY(idkupony, uzytkownik_iduser),
  10. INDEX kupony_FKIndex1(uzytkownik_iduser)
  11. );
  12.  
  13. CREATE TABLE uzytkownik (
  14. iduser INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  15. login VARCHAR(20) NULL,
  16. email VARCHAR(255) NULL,
  17. pass VARCHAR(45) NULL,
  18. imie VARCHAR(20) NULL,
  19. nazwisko VARCHAR(45) NULL,
  20. PRIMARY KEY(iduser)
  21. );
  22.  
  23. CREATE TABLE zdarzenia (
  24. idzdarzenia INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  25. kupony_idkupony INTEGER UNSIGNED NOT NULL,
  26. kupony_uzytkownik_iduser INTEGER UNSIGNED NOT NULL,
  27. zdarzenie VARCHAR(45) NULL,
  28. typ INTEGER UNSIGNED NULL,
  29. wynik VARCHAR(20) NULL,
  30. zal_nzal ENUM('tak', 'nie') NULL,
  31. kurs DOUBLE NULL,
  32. PRIMARY KEY(idzdarzenia, kupony_idkupony, kupony_uzytkownik_iduser),
  33. INDEX zdarzenia_FKIndex1(kupony_idkupony, kupony_uzytkownik_iduser)
  34. );


i taki formularz html/php plik formularz.dodajkupon.php

  1. <form method="post" action="dodawanie_kuponu.php" class="dodajkupon">
  2. <ul class="d_k">
  3.  
  4. <li><label for="data"><b>Data kuponu:</b></label><input type="data" name="data" value="<?php echo $data; ?>" /></li>
  5. <li><label for="stawka"><b>Stawka:</b></label><input type="text" name="stawka" /></li>
  6. <li><label for="bukmacher"><b>Bukmacher:</b></label><input type="text" name="bukmacher" /></li>
  7.  
  8. <?php
  9. $i=0;
  10. $ilosc = $_POST['ilosc'];
  11.  
  12. //validacja zdarzenia
  13. include_once('class.walidacja.php');
  14. $error = false;
  15. $walidacja = new walidacja();
  16. if(!$walidacja ->sprawdz_ilosc($ilosc)) { $error = true; echo "\n"; }
  17.  
  18. for ($i; $i<$ilosc; $i++)
  19. {
  20. echo '<li><label for="zdarzenie'.$i.'"><b>Zdarzenie:</b></label><input type="text" name="zdarzenie'.$i.'" /></li>';
  21. echo '<li><label for="typ'.$i.'"><b>Typ:</b></label><input type="text" name="typ'.$i.'" /></li>';
  22. echo '<li><label for="kurs'.$i.'"><b>Kurs:</b></label><input type="text" name="kurs'.$i.'" /></li>';
  23. }
  24.  
  25. ?>
  26.  
  27. <li><label for="ako"><b>AKO:</b></label><input type="text" name="Ako" /></li>
  28. <li><label for="ilosc"></label><input type="hidden" name="ilosc" value="<?= $ilosc ?>" /></li>
  29. <ul class="centerbutton"><input type="submit" value="Dodaj Kupon" /></ul>
  30. </ul>
  31. </form>
  32.  


i plik dodawanie_kuponu.php
  1. <?php
  2. $stawka = $_POST['stawka'];
  3. $bukmacher = $_POST['bukmacher'];
  4. $data = $_POST['data'];
  5. $i=0;
  6.  
  7.  
  8. $zdarzenie = array();
  9.  
  10. $typ = array();
  11.  
  12. $kurs = array();
  13.  
  14. //wypisywanie tablic
  15.  
  16. for ($i; $i<$_POST["ilosc"]; $i++) {
  17.  
  18. $zdarzenie[] = $_POST["zdarzenie".$i];
  19.  
  20. $typ[] = $_POST["typ".$i];
  21.  
  22. $kurs[] = $_POST["kurs".$i];
  23.  
  24. }
  25.  
  26.  
  27.  
  28.  
  29. include_once('class.walidacja.php');
  30. $error = false;
  31. $walidacja = new walidacja();
  32. //sprawdzanie poprawnosci wpisanej stawki
  33. if(!$walidacja ->sprawdz_stawka($stawka)) { $error = true; echo "\n"; }
  34. if(!$walidacja ->sprawdz_bukmachera($bukmacher)) { $error = true; echo "\n"; }
  35. if(!$walidacja ->sprawdz_data($data)) { $error = true; echo "\n"; }
  36.  
  37.  
  38.  
  39. ?>


najpierw użytkownik wybiera ile chce dodać zdarzeń do kuponu następnie wprowadza te dane.
Tu jest moje pytanie bo kompletnie nie mam pomysłu jak można dodać tablicę do bazy danych.
Czekam na jakieś propozycje gdyż nie wiem z której strony się za to zabrać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Po co masz dopasowywać dane do bazy? Masz jakiś wpływ na budowę bazy danych? Dostosuj model danych tak, aby przechowywał informacje których potrzebujesz w łatwy i przyjazny sposób, po co komplikować sobie życie? Jeśli masz problem z zaprojektowaniem bazy to opisz dokładnie, jak to ma działać a na pewno pomożemy.
Go to the top of the page
+Quote Post
grzes22
post
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.11.2007

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


znaczy się sytuacja przedstawia się następująco.
Jest sobie użytkownik który może dodawać sobie kupony a wiadomo kupon może mieć jedne zdarzenie albo więcej, wydawało mi się, że baza danych jest zaprojektowana w miarę poprawnie.
Tylko nie bardzo wiem jak to rozwiązać jako całość(IMG:style_emoticons/default/questionmark.gif)
Napiszę jak to wygląda a wy mi napiszcie jakbyście to zaprojektowali sami.
1.Najpierw użytkownik, który chce dodać kupon wpisuje ilość zdarzeń które chce dodać do kuponu.
2. Wyświetla się formularz użytkownik go wypełnia i wysyła, jeśli użytkownik wybrał powiedzmy 2 zdarzenia, pętla nadaje nazwy pól formularza zdarzenie0 zdarzenie1
3. skrypt zapisuje do bazy danych
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


No to musisz to rozbić na kilka tabel - robiłem niedawno podobny skrypt do zamówień: klient mógł złożyć jedno zamówienie, które składało się z n pozycji, a każda pozycja jeszcze miała ruchy magazynowe i inne opcje, w sumie kilkanaście tabel (IMG:style_emoticons/default/winksmiley.jpg)

Punktem wyjścia są kupony, zatem musi być tabela powiedzmy "kupony" z wszystkimi podstawowymi informacjami, typu kto utworzył, kiedy itd. Do tego dochodzi tabela "zdarzenia", której rekordy łączysz z tabelą kupony polem id_kuponu, jednemu kuponowi odpowiada jedno lub więcej zdarzeń czy tam elementów.
Go to the top of the page
+Quote Post
grzes22
post
Post #5





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.11.2007

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


no to niby mam tak zrobione, tylko się zastanawiam w jaki sposób ten skrypt powinien to do bazy dodawać. nie za bardzo wiem jak się do tego zabrac??
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 - 12:58