Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wybór produktu <przycisk kup>
-jowice-
post
Post #1





Goście







Zwracam się do was kolejny raz o poradę (jakąś małą podpowiedź choćby czy idę dobrym tropem). Otóż tworzę formularz, który po przyciśnięciu przycisku kup wysyła do bazy danych informacje o tym jaki produkt został kupiony i jaka jego ilość. Problem w tym, że produkty są pobierane z bazy danych przy pomocy pętli i nie za bardzo wiem, jak to zrobić żeby przy naciśnięciu przycisku kup wiadomo było który konkretnie produkt został kupiony.
Cóż.. jak na razie po naciśnięciu przycisku kup nie dzieje się nic, wiem, że to niezbyt dobrze świadczy o tym skrypcie, no ale [w sumie nie mam nic na swoje usprawiedliwienie].


  1. <?php
  2. function form ($ilosc = ""){
  3. ?>
  4.  
  5. <form action="produkty.php" method="POST">
  6. <div>
  7. Ilość sztuk: <input name="ilosc" value="<?= $ilosc; ?>"/><br />
  8. <input type="hidden" name="id" value="<?php echo $dane['P_ID'] ?>">
  9. <input type="submit" name="submit" value="Kup" />
  10. </div>
  11. </form>
  12.  
  13. <?php
  14. }
  15. $link = mysql_connect('','','');
  16.  
  17. if(!$link)
  18. {
  19. die('Could not connect: ' .mysql_error());
  20. }
  21. else
  22. {
  23. mysql_select_db('nsuder');
  24.  
  25. $result = mysql_query("SELECT * FROM PRODUKT");
  26. if (!$result) {
  27. echo 'invalid query';
  28. }
  29.  
  30. while($dane=mysql_fetch_array($result)){
  31.  
  32. echo "<h3>$dane[P_NAZWA]</h3>";
  33. echo "<p>$dane[P_OPIS]";
  34. echo "<br /><i>$dane[P_CENA]</i></p>";
  35. echo "$dane[P_OBRAZEK]";
  36. echo "<br /><br /><br /><br /><br />";
  37.  
  38. if ($dane['P_ILOSC'] > 0){
  39. form();
  40. }
  41. else{
  42. echo 'Produkt chwilowo niedostępny:(';
  43. echo "<br/>";
  44. }
  45. echo ".........................................";
  46.  
  47. if (isset($_GET["action"]) == 'kup' ) {
  48. $zapytanie = mysql_fetch_array(mysql_query("SELECT * FROM PRODUKTY WHERE P_ID = '$_POST['id']'"));
  49. mysql_query("INSERT INTO LINK (L_P_ID, L_ILOSC) VALUES($zapytanie[P_ID], $_POST['ilosc'])")
  50. or die("Nie można zakupić");
  51.  
  52. header('Location: formularz.php');
  53. }
  54.  
  55. }
  56.  
  57. }
  58.  
  59. mysql_close($link);
  60. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Tutaj chcesz jak rozumiem sprawdzić dwa warunki, pierwszy czy $_POST['action'] jest w ogóle ustawione oraz czy zawartość $_POST['action'] jest równa wartości 'kup', należałoby połączyć te warunki w taki sposób:
  1. if (isset($_POST["action"]) && $_POST["action"] == 'kup' ) {
  2.  
  3. }

Poza tym zawsze w razie niepewności i/lub brak chęci do użycia debuggera możesz zobaczyć, czy i co znajduje się w $_POST['action']:
  1. var_dump($_POST['action']);
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: 9.10.2025 - 22:54