2016-08-14 10 views
0

投稿後にMySQLデータベースに送信されるフォームがあります.3つのフィールドを組み合わせて値を設定する "customer_id"というフィールドがあります。 "first_name"、2番目は "last_name"、3番目は "id"です。 customer_id =(first_name + last_name + id)の値(johndoe1)。 Idフィールドがフォームにない場合、これは自動インクリメントのデータベース内にのみ存在します。前述のようにcostumer_idの値を設定した後、フォームを送信した後、成功メッセージと共にcostumer_idの値を表示したい。私はしたいが、方法はわからない。 どうすればいいですか?MYSQLデータベースを挿入してウェブページにデータを表示

<?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を見たいですか? (自動増分列の最後の番号/ ID) – Akshay

+0

すべての顧客に固有の顧客IDを作成したい – waseem

答えて

0

PHPコードは、IDを取得するには、mysqli_insert_idを使用する必要があります。クエリが正常に実行され、最後の挿入IDが返された場合のみ、IDを取得します。

もう1つ。 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($ connection)であると考えられます。私の編集した答え –

+0

私はすでにそれを行ってください。エコーは完璧ですがデータベースのcostomer_idは3つのフィールドの組み合わせではありません 'first_name' 'last_name' 'id' – waseem

関連する問題