Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dodawanie produktu do koszyka, nie widzi zmiennych
Piffek
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2016

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


Witam, mam problem z przenoszeniem zmiennych między stronami php, mianowicie. Mogę dodać do bazy pobraną zmienną id, lecz już dodanie wszystkich zmiennych, należących do danego produktu o tym id nie dodaje. Nie wiem gdzie robię błąd.

usunkat.php
  1. <?php
  2.  
  3. $db = new PDO('mysql:host=DANE, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die();
  4.  
  5. $nick = $_SESSION['logowanie'];
  6.  
  7. //wyświetlamy wszystke pola z tabeli "kategoria"
  8.  
  9. $stmt=$db->query('SELECT * FROM kategoria');
  10. foreach($stmt as $row)
  11. {
  12. echo "<font color=\"#90D4B4\"><td>".$row['miejscowosc']."<br></font>";
  13. echo "<br><font color=\"#2D8C5F\"><td><b>".$row['produkt']."</b><br></td></font>";
  14. echo "<b>Cena: </b>";
  15. echo "<td>".$row['Cena']."</td><br>";
  16. echo "<td>".$row['rodzaj']."<br></td>";
  17. echo "<td>".$row['stan']."<br></td>";
  18. echo "<b>Opis: </b>";
  19. echo "<td>".$row['Opis']."<br></td>";
  20. echo "Dodany przez : ";
  21. echo "<font color=\"#C92E2E\"><td><b>".$row['nick']."</b><br></td></font color>";
  22. echo "<td>
  23. <a href=\"dodaje_produkt_do_koszyka.php?id={$row['id']}\"><b>Dodaj do koszyka</b></a>
  24. </td>";
  25. echo "<br>_______________________<br>";
  26.  
  27. }


dodaje_produkt_do_koszyka.php

  1. $db = new PDO('mysql:host=DANE, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die();
  2.  
  3.  
  4. $data[] = [$_get['produkt']];
  5. $sql = "INSERT INTO Koszyk(produkt) VALUES (:produkt) WHERE id=:id";
  6. $stmt=$db->prepare($sql);
  7. foreach($data as $row)
  8. {
  9. $stmt->bindParam(':id',$_GET['id'],PDO::PARAM_INT);
  10. $stmt->bindParam(':produkt',$_row['produkt'],PDO::PARAM_STR);
  11. $stmt->execute();
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. INSERT INTO Koszyk(produkt) VALUES (:produkt) WHERE id=:id

To zapytanie jest niepoprawne. Do insertów nie daje się where. Poczytaj jak wyświetlać błędy, będziesz miał wszystko jasne.

$_get['produkt'] !== $_GET['produkt']

Skąd masz $_row['produkt']?

Ten post edytował kapslokk 22.09.2016, 08:30:40
Go to the top of the page
+Quote Post
Piffek
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.09.2016

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


Cytat(kapslokk @ 22.09.2016, 09:29:37 ) *
  1. INSERT INTO Koszyk(produkt) VALUES (:produkt) WHERE id=:id

To zapytanie jest niepoprawne. Do insertów nie daje się where. Poczytaj jak wyświetlać błędy, będziesz miał wszystko jasne.

$_get['produkt'] !== $_GET['produkt']

Skąd masz $_row['produkt']?

Myślałem że trzeba pobierać zmienną, którą chce się przekazać do tabeli. W dodatku że gdy wyświetlę SELECTem na tej stronie zmienne danego ID, to się pokazują bez problemu. Więc te zmienne gdzieś na tej stronie muszą być. Przykładowo:

  1. $stmt=$db->prepare('SELECT * FROM kategoria WHERE id=:id');
  2. $stmt->bindParam(':id',$_GET['id'],PDO::PARAM_STR);
  3. $stmt->execute();
  4. foreach($stmt as $row)
  5. {
  6. echo "<font color=\"#90D4B4\"><td>".$row['miejscowosc']."<br></font>";
  7. echo "<br><font color=\"#2D8C5F\"><td><b>".$row['produkt']."</b><br></td></font>";
  8. echo "<b>Cena: </b>";
  9. echo "<td>".$row['Cena']."</td><br>";
  10. echo "<td>".$row['rodzaj']."<br></td>";
  11. echo "<td>".$row['stan']."<br></td>";
  12. echo "<b>Opis: </b>";
  13. echo "<td>".$row['Opis']."<br></td>";
  14. echo "Dodany przez : ";
  15. echo "<font color=\"#C92E2E\"><td><b>".$row['nick']."</b><br></td></font color>";
  16. echo "<td>
  17. <a href=\"dodaje_produkt_do_koszyka.php?id={$row['id']}\"><b>Dodaj do koszyka</b></a>
  18. </td>";
  19. echo "<br>_______________________<br>";
  20.  
  21. }

Wyświetla wszystkie zmienne produktu o danym id.

Co do wyświetlania błędów. Zastosowałem try i catch, nic nie wyświetla.

Ten post edytował Piffek 22.09.2016, 09:00:50
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
to się pokazują bez problemu. Więc te zmienne gdzieś na tej stronie muszą być
Tak to jest jak sie bierze za php bez przerobienia podstaw...
Jak przechodzisz do strony dodaje_produkt_do_koszyka.php to dane ze strony "wyswietl dane" juz dawno wyparowaly... Na stronie dodaje_produkt_do_koszyka.php majac ID produktu musisz te dane pobrac z bazy jeszcze raz.

Cytat
Co do wyświetlania błędów. Zastosowałem try i catch, nic nie wyświetla.

Chodzilo o bledy podstawowe a nie wyjatki.

wsadz w google: jak wlaczyc wyswietlanie bledow w php

ps: przenosze
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: 17.09.2025 - 11:21