php - 我如何通过 html 输入表单进行 foreach 并插入多行或基于选定日期字段的一行?

标签 php mysql insert insert-into

我如何通过 html 输入表单进行 foreach 并插入多行或基于选定日期字段的一行?换句话说,当用户输入“姓名”、“描述”和“类次”,然后选择一个或多个日期时。然后,PHP 将根据所选日期的数量为一个新行或多个新行输入相同的信息。

<?php

 if(isset($_REQUEST['submit']))
{
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "xxxx", "xxxx", "xxxx");

// Check connection
if($link === false){
die("| ERROR: Could not connect. " . mysqli_connect_error());
}
$name = mysqli_real_escape_string($link, $_REQUEST['name']);
$desc = mysqli_real_escape_string($link, $_REQUEST['description']);
$shift = mysqli_real_escape_string($link, $_REQUEST['shift']);
$date = mysqli_real_escape_string($link, $_REQUEST['daterange']);


$sql = "insert into db (name,description,shift,evdate) values ('$name',              '   $desc','$shift','$date')";
$sql2 = "insert into db (name,description,shift,evdate) values ('$name', '                    '$desc','$shift','$insert')";

if ($date=0) {
      $result = mysqli_query($link, $sql);

}else{
    $daterange = explode(',',$date);
    foreach($daterange as $insert) {    
$result = mysqli_query($link, $sql2);

 }
 }



 if(mysqli_query($link, $sql)){
 echo "";
  } else{
  echo "| ERROR: Could not able to execute $sql. " . mysqli_error($link);
  }

 if ($link->multi_query($sql) === TRUE) {
 echo "It Worked..... Maybe!!!!!!";
  } else {
  echo "Error: " . $sql . "<br>" . $link->error;
   }
   }
   $link->close();
    ?>
    <form action="test_insert.php" method="post">

<div class="col col-lg-2 col-lg-offset-0">
<div class="form-group col-lg-offset-0 col-lg-12">
    <label for="Name">Employee Name:</label>
    <input type="text" name="name" placeholder="First & Last Name" id="name"           required>
    <p class="help-block col-lg-12">First and Last Name Please.</p>
  </div>
  </div>
    <div class="col col-lg-offset-0 col-lg-2">
    <div class="form-group col-lg-12">
    <label for="description">Description:</label>
    <input type="text" name="description" id="description"       placeholder="description..." required>
   <p class="help-block">For Example: "Vacation Full Day" or "PTO 2 Hours."      </p>
    </div>
    </div>
   <div class="col col-lg-offset-0 col-lg-3">
    <label for="shift">Shift:</label><br>
    <input type="radio" name="shift" value="First Shift" id="shift" checked> First Shift |
    <input type="radio" name="shift" value="Second Shift" id="shift"> Second  Shift |
    <input type="radio" name="shift" value="Third Shift" id="shift"> Third Shift
    <p class="help-block">Select Correct Shift Worked.</p>
   </div>
   <div class="col col-lg-offset-0 col-lg-3">
   <div class="form-group col-lg-10">
   <label for="date2">Date/Dates:</label>
    <input type="text" id="datepicker1" name="daterange" placeholder="Select  Your Date"  />    
    </div>
    <div class="form-group col-lg-10">
     <label for="date2">Date/Dates:</label>
     <input type="text" id="datepicker2" name="daterange" placeholder="Select Your Date"  />    
      </div>
      <div class="form-group col-lg-10">
      <label for="date2">Date/Dates:</label>
       <input type="text" id="datepicker3" name="daterange" placeholder="Select Your Date"  />  
      </div>
      <div class="form-group col-lg-10">
       <label for="date2">Date/Dates:</label>
       <input type="text" id="datepicker4" name="daterange" placeholder="Select Your Date"  />  
        </div>
       <div class="form-group col-lg-10">
        <label for="date2">Date/Dates:</label>
         <input type="text" id="datepicker5" name="daterange" placeholder="Select Your Date"  />    
       </div>


     <div class="form-group col-lg-6">
      <input type="submit" name="submit" class= "btn btn-primary"> 
      </div>
      </div>

       </div>
        </form>

最佳答案

认为最好的方法是使用 AJAX,

然后将响应作为字符串在 php 中创建一个表或 foreach 作为一个字符串,然后使用 .html 适配器输出新制作的数据。

function submitForm(form){
var url = form.attr("action");
var formData = {};
$(form).find("input[name]").each(function (index, node) {
    formData[node.name] = node.value;
});
$.post(url, formData).done(function (data) {
      $('#showresults').html(result);
});

关于php - 我如何通过 html 输入表单进行 foreach 并插入多行或基于选定日期字段的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523760/

相关文章:

php - mysql_insert_id();返回零。自动增量工作正常

php - Laravel mysql 查询具有唯一约束条件的多个插入(使用查询生成器)

vba - 将行插入指定的列

php - Multi-Tenancy 数据库和一个模型 - MVC 和 Joomla

php - PDO 的行数

php - 您是否在 form_validation 之后发布输入值?

php - 寻找联赛中的最佳射手

PHP - 预选下拉选项

mysql - 内连接子查询 Django ORM 等效

list - 如何遍历redis列表