Due cose:
1.Cambia
echo "<select name='train_name' id='train_name' multiple='multiple'>";
a
echo "<select name='train_name[]' id='train_name' multiple='multiple'>";
2.Cambia
function getAllAssoc() {
$sql = "SELECT * FROM train_information WHERE train_name = :train_name";
$sth = $this->pdo->prepare($sql);
$sth->bindParam(":train_name", $_POST["train_name"]);
$sth->execute();
return $sth->fetchAll();
}
a
function getAllAssoc() {
$sql = "SELECT * FROM train_information WHERE train_name IN(:train_name)";
$sth = $this->pdo->prepare($sql);
$sth->bindParam(":train_name", implode(",",$_POST["train_name"]));
$sth->execute();
return $sth->fetchAll();
}
Basta regolare le virgolette nella query poiché non ho testato questo codice e sento che ci sarà un problema con le virgolette singole.
Ciò che è stato fatto sopra è che abbiamo preso gli input in un array e di conseguenza abbiamo recuperato i risultati in base a questo input di array.
Spero che tu abbia l'idea!!