2016-08-14 172 views
0

我有一個表單提交後提交到MySQL數據庫,它工作正常。我有一個名爲「customer_id」這個值,我想設置三個字段的組合,其中一個是「first_name」,第二個是「last_name」,第三個是「id」,例如customer_id =(first_name + last_name + id)值(johndoe1)。 Id字段不在表單中,這隻在具有自動增量的數據庫中。以上述方式設置costumer_id後,我想在提交表單後顯示costumer_id值和成功消息。哈哈我想要但不知道如何。 我該怎麼做。MYSQL數據庫插入並在網頁中顯示數據

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


?> 
+0

所以,你要看到最後插入的ID? (自動增量列的最後一個數字/編號?) – Akshay

+0

我想爲每位客戶編制一個唯一的客戶編號 – waseem

回答

0

要獲得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 } ?> 
+0

謝謝!兄弟50%的解決方案已經完成,但50%仍然存在。數據庫中的customer_id沒有添加id生成的 – waseem

+0

它應該是mysqli_insert_id($連接)。請看我編輯的答案 –

+0

我已經完成了。回聲是完美的,但在數據庫costomer_id不是三個字段的組合 'first_name''last_name''id' – waseem