我有一个提交后提交到MySQL数据库的表单,它工作得很好。我有一个名为"customer_id"的字段,我想将三个字段的值组合设置,一个是"first_name",第二个是"last_name",第三个是"id",例如customer_id = (first_name+last_name+id) value (johndoe1)。Id字段不在表单中,这只在数据库中自动递增。在以上述方式设置了costumer_id值之后,我想在提交表单后显示costumer_id值和成功消息。哈哈,我想,但不知道怎么做。我该怎么做呢?
php代码<?php
error_reporting(-1);
//Establishing Connection with Server
$connection = mysqli_connect("host", "user", "pass","db");
// Check connection
if (!$connection) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
if(isset($_POST['was'])){
//Fetching variables of the form which travels in URL
$first_name = mysqli_real_escape_string($connection, $_POST['first_name']);
$last_name = mysqli_real_escape_string($connection, $_POST['last_name']);
$pendant_name = mysqli_real_escape_string($connection, $_POST['pendant_name']);
$desired_language = mysqli_real_escape_string($connection, $_POST['desired_language']);
$email = mysqli_real_escape_string($connection, $_POST['email']);
$phone = mysqli_real_escape_string($connection, $_POST['phone']);
$address = mysqli_real_escape_string($connection, $_POST['address']);
$country = mysqli_real_escape_string($connection, $_POST['country']);
$state = mysqli_real_escape_string($connection, $_POST['state']);
$city = mysqli_real_escape_string($connection, $_POST['city']);
$zip = mysqli_real_escape_string($connection, $_POST['zip']);
$mobile = mysqli_real_escape_string($connection, $_POST['mobile']);
$sql = mysqli_query($connection, "INSERT into order_request(customer_id, first_name, last_name, pendant_name, desired_language, email, phone, mobile, address, country, state, city, zip) VALUES ('$first_name$last_name', '$first_name', '$last_name', '$pendant_name', '$desired_language', '$email','$phone', '$mobile', '$address', '$country', '$state', '$city', '$zip' )");
echo '<div class="success-msg">';
echo 'data successfully submitted!';
echo '<div class="close-btn">';
echo '</div>';
echo '</div>';
echo "
<script type='"text/javascript'">
var c = document.querySelector('.close-btn');
var e = document.querySelector('.success-msg');
e.style.height = document.clientHeight+'px';
c.onclick = function(){
e.style.display = 'none';
}
</script>
";
}
mysqli_close($connection);
?>
要获取id,需要使用mysqli_insert_id。只有当查询执行成功并返回最后一个插入id时,您才能获得id。
还有一点。请保持你的HTML和PHP代码分开。在PHP echo语句中编写HTML代码是非常糟糕的做法。
遵循以下模式:
<?php
/* Other code */
$sql = mysqli_query(....) or die(mysqli_error($connection));
if ($sql) {
?>
<div class="success-msg">
<?php echo 'Data successfully submitted!'; ?>
<?php echo "Customer ID is : ".$first_name,$last_name.mysqli_insert_id($connection); ?>
<div class="close-btn"></div>
</div>
<script type='"text/javascript'">
var c = document.querySelector('.close-btn');
var e = document.querySelector('.success-msg');
e.style.height = document.clientHeight+'px';
c.onclick = function(){
e.style.display = 'none';
}
</script>
<?php } ?>