Ich arbeite am Hinzufügen Produktmodul.Array von Benutzer zu Array von Datenbank vergleichen PHP
Der Benutzer kann eine CSV-Datei hochladen, um Produkte hinzuzufügen. Wie kann ich ein System erstellen, das, wenn ein Produkt in db vorhanden ist, das Produkt überspringt und dann erneut nach einem anderen Produkt sucht. Wenn in der db kein solches Produkt vorhanden ist, wird das Produkt zur db hinzugefügt.
also lasst uns sagen
//Products in db
//Code //Description
1 Item 1
2 Item 2
3 Item 3
//Products in user input
//Code //Description
1 Item 1
3 Item 3
4 Item 4
5 Item 5
Aus obigen Beispiel, wie kann ich schaffen ein System, das nur Punkt 4 und Punkt 5 in den db hinzufügen wird?
Hier ist mein $ db_products Array, das Produkte von db
foreach($db_products as $prod){
$products[] = array(
"code" => $prod['code'],
"description" => $prod['description']
);
}
Hier ist mein $ products_array die Eingangs Benutzer
foreach($products as $v){
$products_array[] = array(
"code" => $v['code'],
"description" => $v['description'],
);
}
ich diesen Code
foreach($products_array as $prod){
foreach($db_products as $db_prod){
$result = array_diff($db_prod, $prod);
var_dump($result);
}
}
zum Vergleich verwendet wird, enthält enthält
Aber warum gibt es mir die gleichen Daten zwischen den Arrays?
Was fehlt mir hier ?? danke
http://php.net/manual/en/function.array- diff.php. nimm einfach den Unterschied. Bitte achten Sie darauf, dass Ihr csv-Array das erste Array in diesem Funktionsargument sein wird. Danke Beispiel: -https: //eval.in/630846 –
Was, wenn einige Leute 1 Million Produkte zur gleichen Zeit addieren ... mit ungültigen Daten zusätzlich, dein Server wird detonieren. Denken Sie an die Kriterien, die ein Produkt identifizieren und wie Sie den Server gekühlt halten. – DanFromGermany