2014-12-23 5 views
2

ОК, поэтому я пытаюсь вставить некоторые данные в mySQL, используя текстовые поля и флажки. У меня есть текстовые поля, идущие на одну таблицу, и флажки идут в другую таблицу. Я могу получить данные для вставки в обе таблицы, но я пытаюсь установить второй флажок, чтобы вставлять данные в видимый столбец на основе выбранного отдела. Моя мысль состоит в том, чтобы скрыть деблокировать-checkBoxes [] и показать видимые-checkBoxes [], пока я могу получить данные visible-checkBoxes [] для вставки.Как вставить два разных значения флажка в разные столбцы одной таблицы mysql, используя php?

MySql Tabel

id | departments_fk | qsps_fk | visible 
270 |    1 | 218 |  0 
271 |   22 | 218 |  0 
272 |    1 | 219 |  0 
273 |   22 | 219 |  0 
274 |    1 | 220 |  0 
275 |   22 | 220 |  0 

Вот моя форма.

<form action="create-qsp.php" method="post"> 
     <div class="qsp-name">QSP Name: 
     <input type="text" name="qsp_name" class="name-box" value="" /> 
     </div> 

    <div class="rev">QSP Rev: 
     <input type="text" name="qsp_rev" class="rev-box" value="" /> 
     </div> 

     <div class="qsp-departments">Department:</div> 
     <div class='department-checkBoxes'> 
    <label class='checkBoxes'> 

    <?php $qsp_department_list = find_all_departments(); 
     while($qsp_department = mysqli_fetch_assoc($qsp_department_list)) { global $visible;?> 
      <div class='department-check'> 

      <input type='checkbox' name='department-checkBoxes[]' value=' 
      <?php echo htmlentities($qsp_department["id"]); ?> 
      ' checked='checked' /> 

      <input type='checkbox' name='visible-checkBoxes[]' value='1' /> 

      <?php echo htmlentities($qsp_department["department_name"]); ?> 

      </div> 

     <?php } 

    mysqli_free_result($qsp_department_list); ?> 
    </label> 
    </div> 

    <div class="create-btn"> 
    <input type="submit" name="submit" value="Create QSP" /> 
    </div> 
    </form> 

Вот мой PHP для отдела-Флажки []

$qsps_id = mysqli_insert_id($db_connection); 
$departments_id = $_POST["department-checkBoxes"]; 
$visible_id = $_POST["visible-checkBoxes"]; 


if(isset($_POST['department-checkBoxes'])) { 

    foreach ($departments_id as $id){ 

     $query1 = "INSERT INTO junction_departments_qsps (departments_fk, qsps_fk) VALUES ($id, $qsps_id) "; 
     $result1 = mysqli_query($db_connection, $query1); 
    } 
}  

Вот мой PHP для видимой-Флажки []

if(isset($_POST['visible-checkBoxes'])) { 

    foreach ($visible_id as $id){ 

     $query2 = "INSERT INTO junction_departments_qsps (qsps_fk, visible) VALUES ($qsps_id, $id) "; 
     $result2 = mysqli_query($db_connection, $query2); 
    } 
} 

Спасибо Я ценю помощь!

+1

Почему бы не использовать оператор if, а затем создать запросы на основе этого? – Slime

ответ

0

форма Finde поле

<input type='checkbox' name='visible-checkBoxes[]' value='1' /> 

редактировать код

<input type='checkbox' name='visible-checkBoxes[]' value='<?php echo $qsp_department["id"]; ?>' /> 

и редактировать PHP

if(isset($_POST['department-checkBoxes'])) { 

    foreach ($departments_id as $id){ 

     $visible = in_array($id,$_POST['visible-checkBoxes']) ? 1 : 0; 

     $query1 = "INSERT INTO junction_departments_qsps (departments_fk, qsps_fk, visible) VALUES ($id, $qsps_id,$visible) "; 
     $result1 = mysqli_query($db_connection, $query1); 
    } 
} 

Удалить код

if(isset($_POST['visible-checkBoxes'])) { 

    foreach ($visible_id as $id){ 

     $query2 = "INSERT INTO junction_departments_qsps (qsps_fk, visible) VALUES ($qsps_id, $id) "; 
     $result2 = mysqli_query($db_connection, $query2); 
    } 
} 

Sory мой английский не кишка.

+0

Спасибо за ответ, но моя база данных все равно не будет вставлять это 1 или 0. Я использую реляционную таблицу, но мой видимый столбец не связан ни с чем. Будет ли это иметь какое-либо отношение к моей проблеме с вставкой? – Amber

+0

Получил это, чтобы работать! Благодаря!! – Amber

Смежные вопросы