Napisałem przykładowy kod mam nadzieję, że pomoże
<?php
//pobieramy wartość id z linka
$id = $_GET['id'];
//zapytanie wyświetlające nazwy kursów i kategorie
$wynik = $polaczenie->query("SELECT * FROM kursy");
$ile = $wynik->num_rows;
for($i=0; $i<$ile; $i++)
{
$wiersz = $wynik->fetch_assoc();
//link do opisu kursu
echo'<a href="kursy.php?=id='.$wiersz['id'].'">'.$wiersz['nazwa_kursu'].'</a>';
echo'Kategoria kursu to:'.$wiersz['kategoria'];
}
//jeśli zmienna $id jest ustawiona wyświetlamy szczegóły kursu
if(isset($id))
{
//zapytanie wyświetlające szczegółowy opis kursu
$wynik = $polaczenie->query("SELECT * FROM kursy WHERE id='$id'");
$ile = $wynik->num_rows;
for($i=0; $i<$ile; $i++)
{
$wiersz = $wynik->fetch_assoc();
echo $wiersz['nazwa_kursu'].'</br>';
echo $wiersz['kategoria'].'</p>';
echo $wiersz['opis_kursu'];
}
}
?>
w bazie stwórz tabelę z polami id, nazwa_kursu, kategoria, opis_kursu, id ustaw na int(11) PRIMARY KEY i auto_increment, pola nazwa_kursu i kategoria na varchar, a opis_kursu na text
Metoda GET w HTML wysyła treść formularza, która jest widoczna w pasku adresu w przeciwieństwie do POST, który ukrywa tą treść, w PHP $_GET pobiera widoczne dane w pasku adresu, a $_POST odbiera dane, które nie śa widoczne w psaku adresu, połączeniem tych dwóch zmiennych SUPER GLOBALNYCH jest zmienna $_REQUEST
w skrypcie za pomocą linkawysyłasz dane do paska adresu wpisując <a href="nazwa_strony.php?id=1">Kliknij</a>
a w PHP pobierasz te informację za pomocą $_GET['id'], dlaczego w $_GET wpisałem id? bo tak jest ustawione w linku powyżej, jak byś napisał <a href="nazwa_strony.php?miroslawzelent=3">Kliknij</a> to zmienna GET wyglądała by tak - $_GET['miroslawzelent'] i przechowywała by w sobie wartość 3.