Ich habe zwei Tabellen, post_languages
(Spalten: languageID
, languageName
) und post_to_languages
(languageID
, postID
) und ein Auswahl-Formular.Mark mehr Optionen ausgewählt, Datenbank führt
Ich möchte ein oder mehrere Optionstags markieren, wie von LanguageID anhand der Ergebnisse aus der Datenbank ausgewählt. Ich möchte nicht nur die Sprachen anzeigen, sondern sie als ausgewählt aus einer Liste von Sprachen markieren, die von der Tabelle post_languages bereitgestellt werden.
Was habe ich versucht, aber nur eine Sprache ausgewählt wird, $res
gibt nur eine ID:
$stmt = $db->prepare('SELECT languageID FROM post_to_languages WHERE postID = :postID');
$stmt->execute(array(':postID'=>$postID));
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$stmt2 = $db->prepare('SELECT languageID, languageName FROM post_languages ORDER BY languageName');
$stmt2->execute();
echo '<select class="post-language form-control" name="postLangID[]" multiple="multiple" required>';
while($row2 = $stmt2->fetch()){
foreach ($result as $res) {
if ($row2['languageID'] == $res) {
$selected = 'selected';
} else {
$selected = '';
}
}
echo '<option value="'.$row2['languageID'].'" '.$selected.'>'.$row2['languageName'].'</option>';
}
echo '</select>';
Können Sie Beispielwert für '$ postID' zeigen? –
var_dump für $ postID: string (2) "41" –