我试图查询数据库并将代码应用于每个结果,并将每个结果的记录插入数据库。此代码有效,但仅适用于最后一行结果。我试过foreach但是不能让它工作最喜欢,因为我不明白它应该如何工作。请帮忙,谢谢
<?php
if(isset($_POST['bill1'])){
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
require ('dbconnect.php');
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
}
$invoicedate= $_POST['invoicedate'];
$invoiceduedate= $_POST['invoiceduedate'];
echo 'post is good';
require ('dbconnect.php');
echo 'db connect';
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM customer WHERE terms = 1");
while($row = mysqli_fetch_array($result)) {
echo 'array good';
$item = $row['inputItem'];
$itemdescription = $row['description1'];
$itemprice = $row['itemprice1'];
$id = $row['id'];
$paidstatus = 5;
$totaldue = $itemprice;
require ('dbconnect.php');
echo $item;
echo $itemdescription;
echo $itemprice;
echo $id;
echo $paidstatus;
echo $invoicedate;
echo $invoiceduedate;
$resulttt = mysqli_query($con,"SELECT invoice_number FROM invoices ORDER BY invoice_number DESC LIMIT 1");
while($row = mysqli_fetch_array($resulttt)){
$addone = "1";
$invoicenewnumber = $addone + $row [invoice_number];
}
echo $invoicenewnumber;
//echo $row [invoice_number];
$invoice_number = $invoicenewnumber;
require ('dbconnect.php');
$put = mysqli_query($con,"INSERT INTO invoices (item, description, item_total, id, paidstatus, duedate, invoicedate, invoice_number, total_due)VALUES('$item', '$itemdescription', '$itemprice', '$id', '$paidstatus', '$invoiceduedate', '$invoicedate', '$invoice_number', '$totaldue')");
if (!mysqli_query($con,$put))
die('Error: ' . mysqli_error($con));
echo 'succsess';
}
?>
答案 0 :(得分:1)
<?php
$resulttt = mysqli_query($con,"SELECT invoice_number FROM invoices ORDER BY invoice_number DESC LIMIT 1");
while($row = mysqli_fetch_array($resulttt))
{
$addone = "1";
$invoicenewnumber = $addone + $row [invoice_number];
$invoice_number = $invoicenewnumber;
$put = mysqli_query($con,"INSERT INTO invoices (item, description, item_total, id, paidstatus, duedate, invoicedate, invoice_number, total_due)VALUES('$item', '$itemdescription', '$itemprice', '$id', '$paidstatus', '$invoiceduedate', '$invoicedate', '$invoice_number', '$totaldue')");
}
?>
答案 1 :(得分:0)
尝试在while循环中插入第二个查询。
并在答案
中阅读评论注意:整页只需连接一次。
<?php
if(isset($_POST['bill1']))
{mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
require ('dbconnect.php'); You need the connection only once
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}}
$invoicedate= $_POST['invoicedate'];
$invoiceduedate= $_POST['invoiceduedate'];
echo 'post is good';
//require ('dbconnect.php'); Dont need here
// echo 'db connect'; Dont need here
//if (mysqli_connect_errno()) {
// echo "Failed to connect to MySQL: " . mysqli_connect_error();
// }
$result = mysqli_query($con,"SELECT * FROM customer WHERE terms = 1");
while($row = mysqli_fetch_array($result)) {
echo 'array good';
$item = $row['inputItem'];
$itemdescription = $row['description1'];
$itemprice = $row['itemprice1'];
$id = $row['id'];
$paidstatus = 5;
$totaldue = $itemprice;
require ('dbconnect.php');
echo $item;
echo $itemdescription;
echo $itemprice;
echo $id;
echo $paidstatus;
echo $invoicedate;
echo $invoiceduedate;
$resulttt = mysqli_query($con,"SELECT invoice_number FROM invoices ORDER BY invoice_number DESC LIMIT 1");
while($row = mysqli_fetch_array($resulttt)){
$addone=$addone+1;//If you want to add one to the invoice number you have to use this.
$invoicenewnumber = $addone + $row ['invoice_number'];//}//remove the closing while loop from here,
//Added quete to the Invoice_number
echo $invoicenewnumber;
//echo $row [invoice_number];
$invoice_number = $invoicenewnumber;
require ('dbconnect.php');
$put = mysqli_query($con,"INSERT INTO invoices (item, description, item_total, id, paidstatus, duedate, invoicedate, invoice_number, total_due)VALUES('$item', '$itemdescription', '$itemprice', '$id', '$paidstatus', '$invoiceduedate', '$invoicedate', '$invoice_number', '$totaldue')");
}
if (!mysqli_query($con,$put))
die('Error: ' . mysqli_error($con));
echo 'succsess';
}
?>