Sie müssen Änderungen am Code für list.php vornehmen, basierend auf der Eingabe, die sie über den GET-Parameter erhält. etwas wie:
if ($_GET['id'] == 'FREE'){
// do something like display FREE items
}
elseif($_GET['id'] == 'GIFT') {
// display GIFT items
}
else {
// perform some default action
}
Dies soll es noch datenbankgesteuerter machen (hilfreich, wenn es viele Kategorien gibt):
$sql = "select * from categories where id = '".$_GET['id']."'";
if (mysql_results($sql)){
// do something
}
else {
// show error
}
Beachten Sie, dass dies nur für Demos gedacht ist und Sie in Ihrem Code PDO/MySQLI und vorbereitete Anweisungen und nicht die Funktion mysql_results verwenden sollten.
Angesichts weiterer Informationen von OP:Change this
$articles = $article->fetch_all();
zu
$articles = $article->fetch_data($_GET['id']);
in list.php und sehen Sie, ob Sie korrekte Ergebnisse erhalten.