Generowanie osobnego linku dla każdego produktu w sklepie

0

Witam.

Jestem w trakcie tworzenia swojej pierwszego serwisu w PHP (sklep z kursami). Zastanawiam się jak ustawić osobny link dla każdej kategorii/produktu.

Sprawa wygląda tak:
Gdy np. na stronie głównej wybiorę produkt XYZ i chcę zobaczyć jego szczegóły, przypisuje do zmiennej sesyjnej jego id z bazy danych, a następnie przechodzę do pliku produkt.php gdzie wykonuje zapytanie i wyświetlam jego szczegóły. Zastanawiam się jak wygenerować i zmienić hiperłącze do produktu XYZ, aby klient mógł w przyszłości skopiować sobie link i przejść bezpośrednio do niego.

1

Poczytaj o metodzie GET.

1

Twórz takie linki:

// oczywiście dane z bazy 
<? $products = [ [ 'id' => 1, 'name' => 'Produkt 1' ], [ 'id' => 2, 'name' => 'Produkt 2' ] ]; ?>

<? foreach($products as $product): ?>
    <a href="product.php?id=<?= $product['id'] ?>"><?= $product['name'] ?><a/>
<? endforeach; ?>

To Ci da:

<a href="product.php?id=1">Produkt 1<a/>
<a href="product.php?id=2">Produkt 2<a/>

I teraz w product.php:

$id = $_GET['id'];
// zakładam, że pod zmienną $pdo kryje się utworzone połączenie do bazy
$stmt = $pdo->prepare('SELECT id, name FROM products WHERE id = :id');
$stmt->bindValue(':id', $id);

if(!$stmt->execute()) {
  // 404?
}

$product = $stmt->fetch();

To tak na rozpęd, ale powinieneś znaleźć lepszy kurs PHP (upewnij się, że używają PDO, a nie mysqli....).

0
Desu napisał(a):

To tak na rozpęd, ale powinieneś znaleźć lepszy kurs PHP (upewnij się, że używają PDO, a nie mysqli....).

Ajjj... niestety używam mysqli, to znaczy że muszę wszystkie połączenia przerobić od nowa i nauczyć się pdo?

1 użytkowników online, w tym zalogowanych: 0, gości: 1