Php 如何访问包含逗号分隔值的输入框值并将其插入数据库
这是我的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
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。还有一件事您知道如何从本地存储中删除单个值吗