Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何访问包含逗号分隔值的输入框值并将其插入数据库_Php_Pdo - Fatal编程技术网

Php 如何访问包含逗号分隔值的输入框值并将其插入数据库

Php 如何访问包含逗号分隔值的输入框值并将其插入数据库,php,pdo,Php,Pdo,这是我的PHP代码,直到现在我才尝试 <?php include_once("../include/connClass.php"); $db = new Database(); $conn = $db->getConnection(); if(isset($_POST["save"])) { $date = $_POST["txtDate1"]; } $date = $_POST["txtDate1"]; $service = $_POST["txtService1"]; $c

这是我的PHP代码,直到现在我才尝试

<?php
include_once("../include/connClass.php");
$db = new Database();
$conn = $db->getConnection();

if(isset($_POST["save"]))
{
 $date = $_POST["txtDate1"];
}

$date = $_POST["txtDate1"];
$service = $_POST["txtService1"];
$charge = $_POST["txtCharge1"];
$amount = $_POST["txtAmount1"];
$unit = $_POST["txtUnit1"];
$total = $_POST["txtTotal1"];

for ($i = 0; $i <= count($date); $i++) {

 try {
    $sql = $conn->prepare("INSERT INTO backup_master (backup_date, 
backup_service, backup_charge, backup_amount, backup_unit, backup_total)
        VALUES (:backup_date, :backup_service, :backup_charge, 
 :backup_amount, :backup_unit, :backup_total)");

    $sql->bindParam(':backup_date', $date);
    $sql->bindParam(':backup_service', $service);
    $sql->bindParam(':backup_charge', $charge);
    $sql->bindParam(':backup_amount', $amount);
    $sql->bindParam(':backup_unit', $unit);
    $sql->bindParam(':backup_total', $total);

    $query = $sql->execute();
    // echo $query;
}
catch (PDOException $e) {
    echo $sql . "<br />Error" . $e->getMessage();
}
}
?>

这是我的表格代码

<form method="POST" action="backend/save.php">

<input type="text" id="txtDate1" name="txtDate1">
<input type="text" id="txtService1" name="txtService1">
<input type="text" id="txtCharge1" name="txtCharge1">
<input type="text" id="txtAmount1" name="txtAmount1">
<input type="text" id="txtUnit1" name="txtUnit1">
<input type="text" id="txtTotal1" name="txtTotal1">

<button type="submit" name="save" class="btn btn-primary">Save</button>
</form>

拯救

这里是我的问题,我有一个输入框,每个输入框中都有逗号分隔的值(如abc、xyz、pqr),我想一个接一个地将值插入到数据库的不同行中,但现在所有逗号分隔的值都插入到单行中,不知该怎么做。提前感谢。

您可以分解
上的所有POST变量,然后循环获取最小数量的值

例如:

$date = explode(",", $_POST['txtDate1']);
$unit = explode(",", $_POST['txtUnit1']);

$lowest = 1000; //Bad practice, this assumes there will never be more than 1000 comma seperated values
if (count($date) < $lowest)
    $lowest = count($date); //Loop for all values.

for ($i=0;$i<$lowest;$i++){
    //Insert records into database 1-by-1
}
$date=explode(“,”,$\u POST['txtDate1']);
$unit=爆炸(“,”,$_POST['txtUnit1']);
最低$1000//错误的做法是,假设逗号分隔的值永远不会超过1000个
如果(计数($日期)<最低美元)
$looster=计数($date)//循环所有值。

对于(i元=0 ;$i@YourCommonSense如果我没看错的话,问题是关于插入数据库,而不是获取。你链接到的问题是关于获取。如果我一个接一个地获取,那么它很容易插入如果我在数据库中插入$date作为通知:数组到字符串转换数据库获取数组作为数据。你在吗?同样的事情如果所有值都以单行形式插入数据库,则调用时将返回一个数组,因此您必须调用拆分字符串的第个编号
i
th。还有一件事您知道如何从本地存储中删除单个值吗