I have made a code that creates dynamic rows in a form. I am able to store the data in array and display the same using foreach loop but not able to insert into database.
My UI design:
<div class="form-group">
<label for="eventname"> Income : </label>
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" class="btn btn-info">
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" class="btn btn-info">
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD><INPUT type="checkbox" name="incomechk[]" class="form-control"></TD>
<TD>
<SELECT name="incometype[]" class="form-control">
<OPTION value="emergency">Emergency Fund</OPTION>
<OPTION value="investments">Investments</OPTION>
<OPTION value="retirements">Retirements</OPTION>
<OPTION value="salary">Salary</OPTION>
<OPTION value="other">Other</OPTION>
</SELECT>
</TD>
<TD><INPUT type="number" name="incomevalues[]" class="form-control"></TD>
</TR>
</TABLE>
</div>
<div class="form-group">
<label for="Description">Expenses : </label>
<INPUT type="button" value="Add Row" onclick="addRow('annualTable')" class="btn btn-info">
<INPUT type="button" value="Delete Row" onclick="deleteRow('annualTable')" class="btn btn-info">
<TABLE id="annualTable" width="350px" border="1">
<TR>
<TD><INPUT type="checkbox" name="expensechk[]" class="form-control"></TD>
<TD>
<SELECT name="expensetype[]" class="form-control">
<OPTION value="food">Food</OPTION>
<OPTION value="clothing">Clothing and Accessories</OPTION>
<OPTION value="shelter">Shelter</OPTION>
<OPTION value="household">Household</OPTION>
<OPTION value="tranport">Transportation</OPTION>
<OPTION value="health">Health</OPTION>
<OPTION value="loans">Loans</OPTION>
<OPTION value="miscellaneous">Miscellaneous</OPTION>
<OPTION value="tuition">Tuition</OPTION>
<OPTION value="taxes">Taxes</OPTION>
<OPTION value="vacation">Vacation</OPTION>
<OPTION value="other">Other</OPTION>
</SELECT>
</TD>
<TD><INPUT type="number" name="expensevalues[]" class="form-control"></TD>
</TR>
</TABLE>
</div>
<button type="submit" class="btn btn-info" name="submit">SUBMIT</button>
</form>
budgettest.php :
if($bauth['USER'] === $curuser) {
//Income Extraction
$date = $_POST['date'];
$in1 = $_POST['incometype'];
$in2 = $_POST['incomevalues'];
//echo "Incomes : <br/>";
foreach($in1 as $v => $vv){
echo "into the for loop<br/>";
$sql1 = "INSERT INTO $curuser (USER,BDATE,BTYPE,BVALUE) VALUES ('$curuser','$date','$in1[$v]','$in2[$v]')";
$sql2 = mysqli_query($conn,$sql1);
if($conn->query($sql1)===TRUE) {
echo "successfully added into $curuser<br/>";
}
else {
echo "not added to database<br/>";
}
echo "$in1[$v] "."-"." $in2[$v]";
echo "<br/>";
}
//Expense Extraction
$exp1 = $_POST['expensetype'];
$exp2 = $_POST['expensevalues'];
//echo "Expenses : <br/>";
foreach($exp1 as $e => $ee){
$sql2 = "INSERT INTO $curuser (USER,BDATE,BTYPE,BVALUE) VALUES ('$curuser','$date','$exp1[$e]','$exp2[$e]')";
if($conn->query($sql2) === TRUE) {
echo "successfully added into $curuser<br/>";
}
else {
echo "not added to database<br/>";
}
//echo "$exp1[$e] "."-"." $exp2[$e]";
//echo "<br/>";
}
}
}