После жизни, работая с настольными базами данных (используя DBase, Clipper и Delphi / Pascal), меня попросили переписать одну из них (систему членства в клубах для местной спортивной благотворительности) с использованием MySQL и PHP. Хороший пенсионный проект, подумал я!
Сейчас я редко использовал SQL раньше и никогда раньше не использовал PHP. В целом все прошло хорошо, я использую Bootstrap, и большинство из них работает хорошо, благодаря некоторым ответам на вопросы, которые я нашел, размещенные на этом сайте.
Однако у меня возникли проблемы при записи данных из списка в базу данных.
Область соответствующей базы данных имеет 3 связанные таблицы:
MEMBERDETAILS (Mem_ID, Forename, Surname etc.)
CLASSDETAILS(Class_ID, Class_Name, Class_Day, Class_Start, Class_Duration etc.)
CLASSMEMBER (Class_ID, Mem_ID)
Я использую 2 списка в области формы / записи с кнопкой Сохранить. Один список содержит имена участников выбранной сессии, другой содержит имена всех других членов, не входящих в этот класс. Люди перемещаются в / из списка сессий / участников с помощью кнопок, связанных с функциями jquery, которые я нашел в Интернете.
Это работает нормально, но теперь я застрял, как сохранить данные обратно в таблицу CLASSMEMBER
Я предполагаю, что мне нужно удалить все существующие записи для этого Class_ID из таблицы, а затем добавить новые записи. Кто-нибудь может посоветовать мне путь, пожалуйста?
PHP, который я использовал для загрузки данных, показан ниже:
Чтобы получить описание сеанса (вместо «7» отображается «пт, 7 вечера»)
<?php
$c_query = $conn->query("SELECT * FROM `classdetails` WHERE `class_id`= '$_REQUEST[class_id]'") or die(mysqli_error());
$c_fetch = $c_query->fetch_array();
$class = $c_fetch['class_id'];
?>
Первоначально заполнить список участников, которые не находятся в выбранной сессии
<div class="col-xs-5">
<h2 style="text-align:center">Available members</h2>
<select name="from" id="undo_redo" class="form-control" size="24">
<?php
$g_query = $conn->query('SELECT * FROM memberdetails WHERE mem_id NOT IN (SELECT mem_id FROM memberdetails WHERE mem_id in (select mem_id from classmember where class_id= '.$class.')) ORDER BY lastname, firstname ASC') or die(mysqli_error());
while($g_fetch = $g_query->fetch_array()){
echo "<option value = ".$g_fetch['mem_id'].">".$g_fetch['firstname'].' '.$g_fetch['lastname']." </option>";
}
?>
</select>
</div> <!-- col-xs-5 -->
Чтобы изначально заполнить сессию / список участников
<div class="col-xs-5">
<h2 style="text-align:center"><?php echo $c_fetch['class_name']?> members</h2>
<select name="to" id="undo_redo_to" class="form-control" size="24">
<?php
$g_query = $conn->query('SELECT * FROM memberdetails WHERE mem_id IN (SELECT mem_id FROM memberdetails WHERE mem_id in (select mem_id from classmember where class_id= '.$class.')) ORDER BY lastname, firstname ASC') or die(mysqli_error());
while($g_fetch = $g_query->fetch_array()){
echo "<option value = ".$g_fetch['mem_id'].">".$g_fetch['firstname'].' '.$g_fetch['lastname']." </option>";
}
?>
</select> <!-- col-xs-5 -->
</div>
Большое спасибо.
Задача ещё не решена.
Других решений пока нет …