sql >> Databasteknik >  >> RDS >> Mysql

formulärpass väljs till nästa sida

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!!



  1. OGG-01224 Adressen används redan

  2. använder kommaseparerade värden inuti IN-satsen för NUMMER-kolumnen

  3. Lista över lagrade procedurer/funktioner Mysql Command Line

  4. Hur man upptäcker om ett värde innehåller minst ett nummer i SQL Server