Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z tabelami
Forum PHP.pl > Forum > Przedszkole
nikestylex7
Mam następujący problem. Posiadam w bazie tabele kupony i tabele spotkania. W tabeli spotkania są mecze które doda admin patrz niżej



W tabeli kupony są mecze które dodał user patrz niżej



Problem polega na tym że nie wiem jak mam stworzyć tą tabele kupony ponieważ maksymalnie można dodać 12 spotkań a nie chce żeby w tabeli pod jednym id było zdarzenie1 typ1 zdarzenie2 typ2 i tak dalej. Nie da się jakoś połączyć tego że np pod jednym id będzie kilka zdarzeń ?

Przerobiłem troche zdjęcie żeby pokazać mniej więcej o co mi chodzi

Andrzej.W.
A może dodałbyś login lub unikalny nr. usera, wtedy pod jednym hasłem, mógłbyś mieć podporządkowane te 12 typów. Wtedy po prostu nie dajesz autoinkrementacji. Nie wiem czy dobrze zrozumiałem, o co Ci chodzi. A dodatkowo pole z id_spotkania, z tabeli spotkań, masz wtedy połączenie.
bladeer
nie wiem czy cie dobrze zrozumialem.. ale nie mozesz poprostu dac tabele [id] [id zdarzenia] i tak dalej ?
nikestylex7
może trochę się źle wyraziłem nie wiem jak mam stworzyć od nowa tabele kupony żeby było dobrze. Chce do niej zapisywać spotkania które wybrał user jako kupon wraz z typem.

teraz tak przerobił bym tabele kupony dodał do niej unikalne id_kuponu a je generował podczas odbierania typów. Dodatkowo stworzył tabele id_kupony gdzie umieszczone były by dane takie jak id kuponu przez kogo stworzony i data. Teraz pytanie czy to ma sens?

mam jeszcze pytanie bo nie wiem jak mam wrzucać te dane do tych tabel gdyż odbieram je w formie tablicy. Co gdy zapytanie będzie puste?
kazde zdarzenie zawiera id spotkania
  1. $zdarzenie1 = $_POST['group'][0];
  2. $typ1 = $_POST['type'][0];
  3. $zdarzenie2 = $_POST['group'][1];
  4. $typ2 = $_POST['type'][1];
  5. $zdarzenie3 = $_POST['group'][2];
  6. $typ3 = $_POST['type'][2];
  7. $zdarzenie4 = $_POST['group'][3];
  8. $typ4 = $_POST['type'][3];
  9. $zdarzenie5 = $_POST['group'][4];
  10. $typ5 = $_POST['type'][4];
  11. $zdarzenie6 = $_POST['group'][5];
  12. $typ6 = $_POST['type'][5];
  13. $zdarzenie7 = $_POST['group'][6];
  14. $typ7 = $_POST['type'][6];
  15. $zdarzenie8 = $_POST['group'][7];
  16. $typ8 = $_POST['type'][7];
  17. $zdarzenie9 = $_POST['group'][8];
  18. $typ9 = $_POST['type'][8];
  19. $zdarzenie10 = $_POST['group'][9];
  20. $typ10 = $_POST['type'][9];
  21. $zdarzenie11 = $_POST['group'][10];
  22. $typ11 = $_POST['type'][10];
  23. $zdarzenie12 = $_POST['group'][11];
  24. $typ12 = $_POST['type'][11];


Sprawdzałem czy dane zdarzenie nie jest puste i tak od grupy 0 do 11 i coraz mniej aż zostanie sama grupa 0 lecz to naprawdę dużo kodu więc nie wkleiłem całego nie wiem czy tak jest właściwie

  1. if($_POST['group'][0] > 0 && $_POST['group'][1] > 0 && $_POST['group'][2] > 0 && $_POST['group'][3] > 0 && $_POST['group'][4] > 0 && $_POST['group'][5] > 0 && $_POST['group'][6] > 0 && $_POST['group'][7] > 0 && $_POST['group'][8] > 0 && $_POST['group'][9] > 0 && $_POST['group'][10] > 0 && $_POST['group'][11] > 0){
  2. $zdarzenie1 = $_POST['group'][0];
  3. $typ1 = $_POST['type'][0];
  4. $zdarzenie2 = $_POST['group'][1];
  5. $typ2 = $_POST['type'][1];
  6. $zdarzenie3 = $_POST['group'][2];
  7. $typ3 = $_POST['type'][2];
  8. $zdarzenie4 = $_POST['group'][3];
  9. $typ4 = $_POST['type'][3];
  10. $zdarzenie5 = $_POST['group'][4];
  11. $typ5 = $_POST['type'][4];
  12. $zdarzenie6 = $_POST['group'][5];
  13. $typ6 = $_POST['type'][5];
  14. $zdarzenie7 = $_POST['group'][6];
  15. $typ7 = $_POST['type'][6];
  16. $zdarzenie8 = $_POST['group'][7];
  17. $typ8 = $_POST['type'][7];
  18. $zdarzenie9 = $_POST['group'][8];
  19. $typ9 = $_POST['type'][8];
  20. $zdarzenie10 = $_POST['group'][9];
  21. $typ10 = $_POST['type'][9];
  22. $zdarzenie11 = $_POST['group'][10];
  23. $typ11 = $_POST['type'][10];
  24. $zdarzenie12 = $_POST['group'][11];
  25. $typ12 = $_POST['type'][11];
  26. $user = $_SESSION['bet'];
  27. $id = mysql_fetch_assoc(mysql_query("SELECT id FROM user WHERE user = '$user'")) or die(mysql_error());
  28. $stawka = (int)mysql_real_escape_string(htmlspecialchars($_POST['staw']));
  29. $konto = mysql_fetch_assoc(mysql_query("SELECT konto FROM user WHERE user = '$user'")) or die(mysql_error());
  30. $kontopo = $konto['konto'] - $stawka;
  31. $id_user = $id['id'];
  32. $data = date("Y-m-d H:i:s");
  33. mysql_query("UPDATE user SET konto='$kontopo' WHERE user='$user' ");
  34. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie1', '$typ1','$stawka','$data','$id_user')");
  35. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie2', '$typ2','$stawka','$data','$id_user')");
  36. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie3', '$typ3','$stawka','$data','$id_user')");
  37. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie4', '$typ4','$stawka','$data','$id_user')");
  38. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie5', '$typ5','$stawka','$data','$id_user')");
  39. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie6', '$typ6','$stawka','$data','$id_user')");
  40. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie7', '$typ7','$stawka','$data','$id_user')");
  41. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie8', '$typ8','$stawka','$data','$id_user')");
  42. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie9', '$typ9','$stawka','$data','$id_user')");
  43. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie10', '$typ10','$stawka','$data','$id_user')");
  44. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie11', '$typ11','$stawka','$data','$id_user')");
  45. mysql_query("INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user) VALUES ('$zdarzenie12', '$typ12','$stawka','$data','$id_user')");
  46. echo "<div id='komunikaty'><div id='komunikat2'>Pomyślnie dodano kupon.<br /><a href='java script:history.go(-1)'>powrót</a></div></div>";
Andrzej.W.
Cytat(nikestylex7 @ 26.04.2013, 14:55:40 ) *
teraz tak przerobił bym tabele kupony dodał do niej unikalne id_kuponu a je generował podczas odbierania typów. Dodatkowo stworzył tabele id_kupony gdzie umieszczone były by dane takie jak id kuponu przez kogo stworzony i data. Teraz pytanie czy to ma sens?

wg. mnie to już jakiś krok w kierunku porządku w tych tabelach. W ten sposób możesz generować historię usera, id-kuponu, załatwia Ci sprawę pierwszego pytania,masz jeden numer i kilka zdarzeń.

Data przyda się do chronologii zdarzeń. smile.gif

a co do tej ilości zapytań, wydaje mi się, że to możnaby zrobić jedno zapytanie i przepuścić przez pętlę.
Kod
for($i=0;$<=$ilość_zdarzeń, $i++)
{
return "INSERT INTO kupony(zdarzenie,typ,stawka,dataczas, id_user)  VALUES ('$zdarzenie[$i]', '$typ[$i]','$stawka[$i]','$data[$i]','$id_user[$i]')";
}


Coś na kształt tego, za każdą pętlą, będzie nadawane $i, począwszy od zera $_POST przesyła dane w postaci tablicy, przez co pierwsza dana ma postać zdarzenie[0]. Napisałem to z palca, więc mogą być błędy. Chodziło o ideę wink.gif
nikestylex7
Mógłbyś przerobić mi moje zapytanie ? aktualnie mam dużo kodu przydałaby się pętla
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.