2016-08-14 3 views
0

Ich habe ein Formular, das in MySQL-Datenbank nach dem Senden eingereicht wird, funktioniert es gut. Ich habe ein Feld namens "customer_id" welcher Wert möchte ich in Kombination von drei Feldern, eins ist "first_name", der zweite ist "last_name" und der dritte ist "id", z customer_id = (erster_name + letzter_name + id) wert (johndoe1). Id Feld ist nicht in der Form, dies ist nur in der Datenbank mit automatischer Erhöhung. Nachdem ich den costumer_id-Wert in der genannten Weise festgelegt habe, möchte ich den costumer_id-Wert mit der Erfolgsmeldung anzeigen, nachdem das Formular abgeschickt wurde. Haha ich will aber weiß nicht wie. Wie kann ich das tun?MYSQL-Datenbank einfügen und zeigen Daten in der Webseite

PHP-Code

<?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

Sie will also den letzten Einsatz-ID sehen? (Die letzte Nummer/ID der Autoinkrement-Spalte?) – Akshay

+0

Ich möchte eine eindeutige Kundennummer für jeden Kunden erstellen – waseem

Antwort

0

die ID zu erhalten, müssen Sie mysqli_insert_id verwenden. Sie erhalten die ID nur dann, wenn die Abfrage erfolgreich ausgeführt wird und die letzte INS-ID zurückgibt.

Eine weitere Sache. Bitte halten Sie Ihre HTML- und PHP-Codes getrennt. Das Schreiben von HTML-Code innerhalb der PHP-Echo-Anweisung ist eine sehr schlechte Übung.

dieses Muster folgen:

<?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

danke! Bro 50% Lösung getan, aber 50% ist immer noch übrig. customer_id in der Datenbank hat keine ID generiert – waseem

+0

Es soll mysqli_insert_id ($ connection) sein. Bitte sehen Sie meine bearbeitete Antwort –

+0

Ich habe es schon getan. echo ist perfekt, aber in der Datenbank costomer_id ist keine Kombination von drei Feldern 'first_name' 'last_name' 'id' – waseem

Verwandte Themen