В моей базе данных есть следующие 3 таблицы
- мтм (многие-ко-многим)
- пользователи
- фильмы
users mtm (XR) movies
========= =========== ===========
id (PK) userid (FK) id (PK)
name movieid (FK) name
tel desc
... ...
Я пытаюсь добиться:
- Обновление таблицы «многие ко многим» для зарегистрированного пользователя (через PHP и HTML форма на той же странице )
- форма HTML содержит
<select multiple="multiple">
, из которого можно выбрать несколько mov ie <option>
s. - когда пользователь выбирает фильмы, которые ему нравятся, и нажимает «Сохранить изменения», сценарий PHP должен связать выбранные фильмы с зарегистрированным пользователем ИД пользователя в таблице «mtm».
<?php
if(isset($_POST['upinfo']))
{
$bio=$_POST['bio'];
$birthdate=$_POST['birthdate'];
$country=$_POST['country'];
$province=$_POST['province'];
$city=$_POST['city'];
$zipcode=$_POST['zipcode'];
$addressline=$_POST['addressline'];
$phonenum=$_POST['phonenum'];
$website=$_POST['website'];
$languages = $_POST['languages'];
$favmusic = $_POST['favmusic'];
$favmovies = $_POST['favmovies'];
$id3=$_POST['id3'];
$sql="UPDATE users SET bio=(:bio), birthdate=(:birthdate), country=(:country), province=(:province), city=(:city), zipcode=(:zipcode), addressline=(:addressline), phonenum=(:phonenum), website=(:website), languages=(:languages), favmusic=(:favmusic), favmovies=(:favmovies) WHERE id=(:id3)";
$query = $dbh->prepare($sql);
$query-> bindParam(':bio', $bio, PDO::PARAM_STR);
$query-> bindParam(':birthdate', $birthdate, PDO::PARAM_STR);
$query-> bindParam(':country', $country, PDO::PARAM_STR);
$query-> bindParam(':province', $province, PDO::PARAM_STR);
$query-> bindParam(':city', $city, PDO::PARAM_STR);
$query-> bindParam(':zipcode', $zipcode, PDO::PARAM_STR);
$query-> bindParam(':addressline', $addressline, PDO::PARAM_STR);
$query-> bindParam(':phonenum', $phonenum, PDO::PARAM_STR);
$query-> bindParam(':website', $website, PDO::PARAM_STR);
$query-> bindParam(':languages', $languages, PDO::PARAM_STR);
$query-> bindParam(':favmusic', $favmusic, PDO::PARAM_STR);
$query-> bindParam(':favmovies', $favmovies, PDO::PARAM_STR);
$query-> bindParam(':id3', $id3, PDO::PARAM_STR);
$query->execute();
$sucupinfo="Information Updated Successfully";
}
else{
$errupinfo="Couldn't update your info!";
}
?>
После того, как пользователь отправляет или обновляет страницу с формой HTML, форма должна отображать эти mov ie
<option
s как
selected
для
зарегистрированного пользователя <form method="post">
<div class="row">
<div class="col-12">
<div class="form-group">
<label for="moviesselect2">Favourite movies</label>
<select name="favmovies" class="form-control" id="moviesselect2" multiple="multiple">
<option value="The Dark Knight">The Dark Knight</option>
<option value="Harry Potter">Harry Potter</option>
<option value="Airplane!">Airplane!</option>
<option value="Pearl Harbour">Perl Harbour</option>
<option value="Spider Man">Spider Man</option>
<option value="Iron Man">Iron Man</option>
<option value="Avatar">Avatar</option>
</select>
</div>
</div>
<input type="hidden" name="id3" class="form-control" required value="<?php echo htmlentities($result->id);?>">
<div class="col-12">
<button type="submit" name="upinfo" class="btn btn-primary">Save changes</button>
</div>
</div>
</form>
Но я не знаю как, поэтому я прошу вас привести четкий пример или указать я в правильном направлении