Två saker:
1.Ändra
echo "<select name='train_name' id='train_name' multiple='multiple'>";
till
echo "<select name='train_name[]' id='train_name' multiple='multiple'>";
2.Ändra
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();
}
till
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();
}
Justera bara citattecken i frågan eftersom jag inte har testat den här koden och känner att det kommer att bli problem med enstaka citattecken.
Vad som görs ovan är att vi har tagit ingångarna i en array och följaktligen hämtat resultaten baserat på denna array-ingång.
Hoppas du förstår idén!!