如何分割输入表单并发送到Mysql


How to split input form and send to Mysql

我有一个表单在调用服务器时工作良好

我希望当一个人发送多个输入代码时它能工作

我如何设置它与textarea而不是短输入工作

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form action="" method="POST">
  <input class="input" name="search" id="search" value="" size="13" maxlength="13" dir="ltr" autocomplete="on" type="text" width="150" height="20" onchange="document.getElementById('yq_num').value = this.value;"> 
  <input value="חפש" name="button" alt="submit" onclick="showDiv();" border="0" type="button" align="absmiddle">
</form>
<div id="hiddenDiv" class="answerswer_list"></div>
NEW FORM 
<form action="" method="POST">
<textarea name="search" rows="4" cols="50" id="search"> </textarea>
<input value="search" name="button" alt="submit" onclick="showDiv();" border="0" type="button" align="absmiddle">
</form>

示例用户写,RR123456789IL, RR123456789US, RR123456789UK

javascript代码接受输入表单,并使用jquery将结果返回到隐藏的Div

document.getElementById('quickContactForm')
$(document).ready(function(){
//$("#hiddenDiv").hide();
});
function showDiv(){
  var str=$("#search").val();
  var url="action.php?show="+str;
  console.log('url'+url);
  $.get(url,function(data,status){
  //   alert("Data: " + data + "'nStatus: " + status);
      $("#hiddenDiv").html(data);
      $("#hiddenDiv").show();
  });
   document.getElementById('signup').style.display = 'block';
}

action.php从服务器接收用户代码并返回结果

<?php
//$itemCode = "RR123456789IL";
$itemCode = $_GET["show"];
 $itemType = substr( $itemCode, 0, 2 ) . substr( $itemCode, -2 );
$url = "http://www.israelpost.co.il/itemtrace.nsf/trackandtraceJSON?openagent&_=1412972965324&lang=HE&itemcode={$itemCode}&sKod2={$itemType}";
$json = file_get_contents($url);
$obj = json_decode($json);
echo $obj->{'itemcodeinfo'}; // 12345
require_once('logger.php');
?>

log .php ->在Mysql数据库中存储数据

我想要的是将表单更改为textarea,并发送多个POST代码,用逗号或空格分隔,每个代码是13位数字并向HTML返回多个答案并将每个代码存储在DB中的新行中。由于

数据库插入代码(已更新)logger.php

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$time = date('Y-m-d H:i:s'); 
$IP = "$_SERVER[REMOTE_ADDR]";
    $sql = "INSERT INTO enterlog (ItemCode, EnterDate, IPAddress, Info) VALUES ('$itemCode', '$time', '$IP', '$obj')";

if (mysqli_query($conn, $sql)) {
    echo "";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?> 

我猜你需要explode功能在你的logger.php

$string = $_POST['value']; // Your codes, separated by a comma
$strings = explode(",", $string);
foreach ($strings as $string) {
    echo $string; // This should be each code you want
}

发送数据到数据库是非常简单的,应该在foreach循环内完成,因为你想要每个代码的新行。

$query = "INSERT INTO `table_name` (`code`) VALUES ('" . $string . "')";
$con->query($query);

我只能走这么远。你把几个问题合二为一了……