запись данных обратно в таблицы MySQL из списка с помощью php - PullRequest
0 голосов
/ 18 сентября 2018

После работы с настольными базами данных (с использованием 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, который я использовал для загрузки данных, показан ниже:

  1. Чтобы получить описание сеанса (вместо показа«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'];
    ?>
    
  2. Для первоначального заполнения списка участников, которые не участвуют в выбранной сессии

    <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 -->
    
  3. Для первоначального заполнения списка сеансов / участников

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

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...