2016-07-03 5 views
-3

ich habe eine Zeichenfolge mit dem Namen order_name, die von einem Client wie folgt angefordert Aufträge enthält:String-Wert auf ein Array in PHP hinzufügen und fügen Sie zu MySQL-Datenbank

$order_name="Orange Juice,Mango Juice,Pastries Food"; 

Diese Saite viele weitere Elemente haben könnte

1-Wie Schleife Zeichenfolge mit unbekannter Anzahl von Elementen, um sie zu einem ARRAY hinzuzufügen?

2-After-Schleife Wie fügt man jedes Element in die Datenbank ein?

Denken Sie daran, dass jedes Element von gefolgt wird „“

Irgendwelche Vorschläge würde ich sehr zu schätzen wissen

MY CODE : $con= mysqli_connect($host,$user,$password,$db); 

    $name=$_POST['name']; 
    $order_name=$_POST['order_name']; 
    $quantity=$_POST['quantity']; 
    $price=$_POST['price']; 
    $customer_id=$_POST['customer_id']; 

    $i=1; 
    $order_name2= explode(',', $order_name); 
    $quant= explode(',', $quantity); 
    $pric= explode(',', $price); 
    $count=count($order_name2); 

while($i<=$count) 
{ 
$sql_query="insert into Placed_order values(0,'$customer_id','','','');"; 
mysqli_query($con,$sql_query); 
$i++; 


    } 
    $id=mysqli_insert_id($con); 





    foreach($order_name2 as $order_name_single) { 


     $sql_query3="update Placed_order set order_name='$order_name_single' where order_id='$id' and id_customer='$customer_id'"; 
    mysqli_query($con,$sql_query3); 

} 

foreach($quant as $quant_single) { 

    $sql_query5="update Placed_order set quantity='$quant_single' where order_id='$id' and id_customer='$customer_id'"; 
mysqli_query($con,$sql_query5); 


    } 
     foreach($pric as $price_single) { 

    $sql_query4="update Placed_order set price='$price_single' where order_id='$id' and id_customer='$customer_id'"; 

    mysqli_query($con,$sql_query4); 

    } 

das Update erfolgreich für die letzte order_id und die Felder werden aktualisiert ansonsten ersten Reihe noch mit order_name und andere Bereiche 0 VALUES

DATABASE:

CODE RESULT

+0

'$ Früchte zu schreiben = explode ("", $ order_name) ; " –

+1

" Denken Sie daran, dass auf jeden Punkt "," folgt "Er, nein, es ist nicht – Strawberry

+0

Geben Sie das Datenbankskript an, mit dem Sie versucht haben. – trincot

Antwort

1

Beispiel das Array zu machen

$order_name = "Orange Juice,Mango Juice,Pastries Food"; 
$order_name = explode(',', $order_name); 
print_r($order_name); 

Beispiel in die Datenbank

$conn = mysqli_connect("servername", "username", "password", "dbname"); 
foreach($order_name as $order_name_single) { 
    //MySQL Insert with variable $order_name_single 
    mysqli_query($conn, "INSERT INTO mytable VALUES ('".$order_name_single."')"); 
} 
+0

Ok ich habe: Array ([0] => Orangensaft [1] => Mango Saft [2] => Gebäck Essen) Jetzt, wie man jedes Einzelteil in mysql einfügt? –

+0

Beispiel hinzugefügt. Müssen Sie auch MySQL Code einfügen? –

+0

Ja bitte, wenn es Ihnen nichts ausmacht, weil ich jedes Element in eine einzelne Zeile einfügen möchte –

0
$fruit = "Orange Juice,Mango Juice,Pastries Food"; 
$fruit = array_map(
    function($value) { 
     return implode('', array_merge($value, [','])); 
    }, 
    array_chunk(explode(',', $fruit), 1) 
); 
print_r($fruit); 
+0

Hallo, könnten Sie bitte eine Erklärung zu Ihrem Code hinzufügen? Dies tauchte in der Review-Warteschlange auf, wie es nur Code-Antworten tun. – Will

+0

Danke Freund für Ihre Hilfe –

Verwandte Themen