2017-12-06 7 views
0

Ich mache Shopping-Site in PHP und ich habe ein Problem mit Produktdaten.Wie man Daten erhält und mit id in PHP einfügt?

First I make **product** datatabe below. 

    CREATE TABLE IF NOT EXISTS `product` (         
     `product_id` int(11) NOT NULL AUTO_INCREMENT,        
     `product_sales_id` int(11) NOT NULL,           
     `product_name` varchar(100) NOT NULL,           
     `product_price` varchar(5000) NOT NULL,          
     `image_name` varchar(300) NOT NULL,            
     PRIMARY KEY (`product_id`) 
    ) 


And Second table **product sales** below : 

    CREATE TABLE IF NOT EXISTS `product_sales` (         
     `product_sales_id` int(11) NOT NULL,           
    ) 

Below page it admin site page when select product to insert in database and 
show in product page. 

Add_Product.php : 

    <?php 
     include_once('include/connection.php'); 
     include_once('include/function.php'); 
    ?> 

    <?php 
     if(isset($_POST['submit'])){ 
      $product_name = mysqli_real_escape_string($conn,$_POST['product_name']); 
      $product_price = mysqli_real_escape_string($conn,$_POST['product_price']); 
      $image_name = mysqli_real_escape_string($conn, basename($_FILES["product_image"]["name"])); 

      $target_dir = "upload/"; 
      $target_file = $target_dir . basename($_FILES["product_image"]["name"]); 
      $uploadOk = 1; 
      $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
      $filetype = $_FILES["product_image"]["type"]; 

      $image_upload = move_uploaded_file($_FILES["product_image"]["tmp_name"], $target_file); 

      if($image_upload){ 
       mysqli_query($conn,"INSERT INTO product(product_name,product_price,image_name) VALUES ('".$product_name."','".$product_price."','".$image_name."')"); 
      } 

     } 
    ?> 

ich mehr Seite Produkt verkaufen Seite machen, aber ich weiß nicht, wie diese Above Show machen I Tisch product_sales und seine ID Store in Produkttabelle machen wie product_sales in Datenbank und zeigen in Seite zu verwenden ID durch.

+0

Sie müssen product_id in der Tabelle product_sales angeben, müssen aber product_sales_id nicht in der Produkttabelle angeben, da die Produkte niemals für immer einer bestimmten Reihenfolge angehören. –

+0

Auch, wie Bestellung direkt von Produkten zu products_sales Tisch platziert werden kann? Sie müssen eine temporäre Tabelle für den Einkaufswagen erstellen, die alle Produkte enthält, die der Benutzer hinzufügen wird, und wenn der Benutzer die Bestellung nach der Überprüfung der Produkte eingibt, werden sie in der products_sales-Tabelle nach dem Entfernen aus der temporären Tabelle angezeigt. –

+0

Auch in der temporären Tabelle müssen Sie zuerst Produkte mit Sitzungs-IDs speichern, und wenn Benutzer-Login dann Benutzername oder E-Mail in der temporären Tabelle hinzufügen müssen. –

Antwort

0

Ändern Sie die product_sales_id in product_sales Tabelle in Primärschlüssel und fügen Sie product_id Feld als Fremdschlüssel in product_sales Tabelle hinzu.

Sobald das Produkt verkauft ist, können Sie die product_id in der product_sales Tabelle speichern.

Und Sie können die verkauften Produktdetails aus der Produkttabelle mit product_id abrufen, die in der Tabelle product_sales mit Join-Abfrage vorhanden ist.

+0

Danke für die Antwort. – Dhaval

0

Wenn Sie auf Shopping-Site arbeiten, dann fehlt etwas, das sehr wichtig ist.

Sie müssen eine temp Tabelle für den Einkaufswagen erstellen, die alle Produkte enthält, die der Benutzer hinzufügen wird und wenn der Benutzer die Bestellung nach der Überprüfung der Produkte platziert, dann werden sie in der Tabelle products_sales nach dem Entfernen aus der Tempentabelle angezeigt.

Darüber hinaus müssen Sie product_id in product_sales Tabelle geben, aber keine Notwendigkeit product_sales_id in products Tabelle geben, wie Produkte nie für immer zu einer bestimmten Reihenfolge gehören.

Verwandte Themen