Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]zapisywanie w bazie
Forum PHP.pl > Forum > Przedszkole
ilov3
  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $query = "SELECT id FROM users WHERE username LIKE '".$_SESSION['username']."'";
  6. $result = mysqli_query($con,$query);
  7. $user = mysqli_fetch_array($result);
  8.  
  9. if(!empty($_POST['ilosc_0']) && !empty($_POST['data_0']))
  10. {
  11. $query = "INSERT into `rezerwacje` (bilet_id, user_id, ilosc, data) VALUES ('0', '".$user['id']."', '".$_POST['ilosc_0']."', '".$_POST['data_0']."')";
  12. mysqli_query($con,$query);
  13. }
  14. if(!empty($_POST['ilosc_1']) && !empty($_POST['data_1']))
  15. {
  16. $query = "INSERT into `rezerwacje` (bilet_id, user_id, ilosc, data) VALUES ('1', '".$user['id']."', '".$_POST['ilosc_1']."', '".$_POST['data_1']."')";
  17. mysqli_query($con,$query);
  18. }
  19. }
  20.  
  21. echo "
  22. <form method='post'>
  23. <table border='1' align='center'>
  24. <tr>
  25. <th>Numer biletu</th>
  26. <th>Godziny</th>
  27. <th>Cena</th>
  28. <th>Ilość</th>
  29. <th>Data</th>
  30. </tr>
  31. ";
  32.  
  33. $query = mysqli_query($con, "SELECT * FROM bilety");
  34. while ($row = mysqli_fetch_array($query))
  35. {
  36. echo "<tr>";
  37. echo "<td>".$row['id_biletu']."</td>";
  38. echo "<td>".$row['godziny']."</td>";
  39. echo "<td>".$row['cena']."</td>";
  40. echo "<td><input type='text' size='5' name='ilosc_".$row['id_biletu']."' /></td>";
  41. echo "<td><input type='text' name='data_".$row['id_biletu']."' /></td>";
  42. echo "</tr>";
  43. }
  44. echo "</table>
  45. <input type='submit' name='submit' value='Zamów' />
  46. </form>";
  47.  
  48. ?>


kod wygląda tak, a struktura bazy:

  1. --
  2. -- Struktura tabeli dla tabeli `bilety`
  3. --
  4.  
  5. CREATE TABLE `bilety` (
  6. `id_biletu` int(11) NOT NULL,
  7. `godziny` varchar(20) NOT NULL,
  8. `cena` varchar(20) NOT NULL
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  10.  
  11. --
  12. -- Zrzut danych tabeli `bilety`
  13. --
  14.  
  15. INSERT INTO `bilety` (`id_biletu`, `godziny`, `cena`) VALUES
  16. (0, 'Od 13:00 - 19:00', '50 zł'),
  17. (1, 'Od 09:00 - 14: 00', '40 zł'),
  18. (2, 'Od 15:00 - 19:00', '40 zł'),
  19. (3, 'Całodniowa', '70zł');
  20.  
  21. -- --------------------------------------------------------
  22.  
  23. --
  24. -- Struktura tabeli dla tabeli `rezerwacje`
  25. --
  26.  
  27. CREATE TABLE `rezerwacje` (
  28. `id` int(11) NOT NULL,
  29. `user_id` int(11) NOT NULL,
  30. `bilet_id` int(11) NOT NULL,
  31. `ilosc` int(11) NOT NULL,
  32. `data` varchar(20) NOT NULL
  33. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  34.  
  35. -- --------------------------------------------------------
  36.  
  37. --
  38. -- Struktura tabeli dla tabeli `users`
  39. --
  40.  
  41. CREATE TABLE `users` (
  42. `id` int(11) NOT NULL,
  43. `username` varchar(50) NOT NULL,
  44. `email` varchar(50) NOT NULL,
  45. `password` varchar(50) NOT NULL,
  46. `trn_date` datetime NOT NULL
  47. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  48.  
  49. --
  50. -- Indeksy dla zrzutów tabel
  51. --
  52.  
  53. --
  54. -- Indexes for table `bilety`
  55. --
  56. ALTER TABLE `bilety`
  57. ADD PRIMARY KEY (`id_biletu`);
  58.  
  59. --
  60. -- Indexes for table `rezerwacje`
  61. --
  62. ALTER TABLE `rezerwacje`
  63. ADD PRIMARY KEY (`id`);
  64.  
  65. --
  66. -- Indexes for table `users`
  67. --
  68. ALTER TABLE `users`
  69. ADD PRIMARY KEY (`id`);
  70.  
  71. --
  72. -- AUTO_INCREMENT for dumped tables
  73. --
  74.  
  75. --
  76. -- AUTO_INCREMENT dla tabeli `users`
  77. --
  78. ALTER TABLE `users`
  79. MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
  80. COMMIT;


problem mam taki, że nie dodaje rekordów do tabeli rezerwacje
nospor
No to masz dwie sytuacje
1) albo ci nie wchodzi w zaden z ifow ktory dodaje do bazy - sprawdz
2) albo masz blad zapytania - sprawdz
trueblue
A jaką wartość wstawiasz do pola id tabeli rezerwacje?
ilov3
@trueblue
dzięki, nie było ustawione AUTO_INCREMENT



teraz chciałbym odczytać dane, które dodał zalogowany użytkownik:

  1. <form method='post'>
  2. <table border='1' align='center'>
  3. <tr>
  4. <th>Numer biletu</th>
  5. <th>Ilość zarezewowanych biletów</th>
  6. <th>Data rezerwacji</th>
  7. </tr>
  8. ";
  9.  
  10. $query = mysqli_query($con, "SELECT * FROM rezerwacje WHERE username LIKE '".$_SESSION['username']."'");
  11. while ($row = mysqli_fetch_array($query))
  12. {
  13. echo "<tr>";
  14. echo "<td>".$row['bilet_id']."</td>";
  15. echo "<td>".$row['ilosc']."</td>";
  16. echo "<td>".$row['data']."</td>";
  17. echo "</tr>";
  18. }
  19. echo "</table>
  20. <input type='submit' name='submit' value='Edytuj'/>
  21. </form>";


jak powinno wyglądać zapytanie?
nospor
A nie dziala? To wlaczy wyswietlanie bledow, wyswietlaj potencjalne bledy bazy danych, sprawdzaj jak wyglada zapytanie i dane ktore do niego wkladasz. Ile razy mozna prosic?

Lektura obowiazkowa
Temat: Jak poprawnie zadac pytanie oraz przygotowac srodowisko pracy
ilov3
dobrze będę więc tak robić, ale w chwili obecnej potrzebuję skonstruować zapytanie, które wyświetli wartości dodane do tabeli rezerwacje przez obecnie zalogowanego użytkownika
nospor
No i takie zapytanie juz masz. Zrobiles jednak glupi blad wiec ci nie dziala. Wyswietl wiec blad zapytania to zobaczysz co zrobiles zle. Nie bedziemy co 5 minut z palcem ci pokazywac banalnych bledow bo tobie sie nie chce wyswietlic bledu zapytania i samemu na wlasne oczy zobaczyc co jest zle

widze potrzebujesz motywacji - temat zamykam. jak bedziesz mial jeszcze jakies problemy i tym razem zastosujesz sie do porad, zapraszam na pw - temat otworze
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.