how to access input box values that contains comma separated values and insert into database

喜欢而已 提交于 2020-01-14 03:36:05

问题


This is My PHP code till now I tried

<?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();
}
}
?>

this is my form code

<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>

Here is my question is I have an input boxes values with comma separated values in each input box(like abc,xyz,pqr) and I want to insert values one by one to the different rows to the database but now all comma separated values are inserting into the single row any idea how to do. Thanks in advance.


回答1:


You can explode all the POST variables on , and then loop for the smallest amount of values.

Example:

$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
}


来源:https://stackoverflow.com/questions/47989346/how-to-access-input-box-values-that-contains-comma-separated-values-and-insert-i

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!