Anda perlu membuat perubahan pada kode untuk list.php berdasarkan input yang didapat melalui parameter GET. sesuatu seperti:
if ($_GET['id'] == 'FREE'){
// do something like display FREE items
}
elseif($_GET['id'] == 'GIFT') {
// display GIFT items
}
else {
// perform some default action
}
Ini untuk membuatnya lebih didorong oleh basis data (membantu ketika ada banyak kategori):
$sql = "select * from categories where id = '".$_GET['id']."'";
if (mysql_results($sql)){
// do something
}
else {
// show error
}
Perhatikan bahwa ini hanya untuk demo dan dalam kode Anda, Anda harus menggunakan PDO/MySQLI dan pernyataan yang disiapkan dan bukan fungsi mysql_results.
Mengingat informasi lebih lanjut yang diberikan oleh OP:Ubah ini
$articles = $article->fetch_all();
ke
$articles = $article->fetch_data($_GET['id']);
di list.php dan lihat apakah Anda mendapatkan hasil yang benar.