TheSun851
Mitglied
Moin Moin,
Diesmal hab ich folgendes Problem!
Und zwar bekommt die function ein Array mit den ID's der Artikel und eine ID nachder die sql1 abfrage gestaltet ist. Die soll dann (nach meinen anderen Nachforschungen) in ein array gespeichert werden. Dann sollen die beiden arrays mit array_diff verglichen werden (was anscheinend auch passiert).
Nun zu der If-abfrage: da ich als unterschied ja nur das zurück bekommen was im 2ten array nicht vorhanden ist hab ich die abfrage einmal so array_diff( $test, $ArtIdDb); und einmal so array_diff( $test, $ArtIdDb); geschrieben, denn eigentlich sollen Einträge vorgenommen werden wenn die ArtikelID noch nicht in der Tabelle (ich ich mit der sql1 abfrage bekommen habe, und das auch nur eine spalte ist mit mehreren Zeilen) vorhanden ist.
Andersrum sollen eben Einträge gelöscht werden wenn die in der Tabelle(von sql1) vorhanden sind aber eben nicht im übergebenen array von $artArr.
Die Funktion dazu sieht wie folgt aus:
Ich hoffe ich konnte mein Problen gut schildert und meine Fragen auch verständlich stellen.
Falls noch fragen bestehen bitte fragen.
Liebe Grüße
Sunny
Diesmal hab ich folgendes Problem!
Und zwar bekommt die function ein Array mit den ID's der Artikel und eine ID nachder die sql1 abfrage gestaltet ist. Die soll dann (nach meinen anderen Nachforschungen) in ein array gespeichert werden. Dann sollen die beiden arrays mit array_diff verglichen werden (was anscheinend auch passiert).
Nun zu der If-abfrage: da ich als unterschied ja nur das zurück bekommen was im 2ten array nicht vorhanden ist hab ich die abfrage einmal so array_diff( $test, $ArtIdDb); und einmal so array_diff( $test, $ArtIdDb); geschrieben, denn eigentlich sollen Einträge vorgenommen werden wenn die ArtikelID noch nicht in der Tabelle (ich ich mit der sql1 abfrage bekommen habe, und das auch nur eine spalte ist mit mehreren Zeilen) vorhanden ist.
Andersrum sollen eben Einträge gelöscht werden wenn die in der Tabelle(von sql1) vorhanden sind aber eben nicht im übergebenen array von $artArr.
Die Funktion dazu sieht wie folgt aus:
PHP:
function artikelVerarbeiten($artArr, $VAID){
include "db.inc.php";
$con=mysqli_connect($sqlServer, $sqlBenutzer, $sqlPasswort, $dbName);
$sql1 = "SELECT ArtikelID FROM verarbeitung WHERE verarbeitungsartID LIKE '$VAID'";
$erg = mysqli_query($con, $sql1);
Einerseits macht die function irgendwie weder einen eintrag noch löscht er einen eintrag.
Und ich bin mir auch nicht sicher ob die variable $a2 bei der sql3 abfrage so richtig ist.
$b = count($artArr);
for ($i=0; $i < $b; $i++) {
$test = $artArr[$i];
}
while($zeile=mysqli_fetch_array($erg)){
$ArtIdDb[] = $zeile['ArtikelID'];
$a1 = array_diff($ArtIdDb, $test);
$a2 = array_diff( $test, $ArtIdDb);
if ($a1 != "") {
$sql2 = "DELETE FROM verarbeitung WHERE";
$erg2 = mysqli_query($con, $sql2);
}elseif ($a2 != "") {
$sql3 = "INSERT INTO verarbeitung (verarbeitungsartID, ArtikelID) VALUES ('$VAID', '$a2')" ;
$erg3 = mysqli_query($con, $sql3);
}else{
echo "Es ist ein Fehler aufgetreten";
}
}
}
Ich hoffe ich konnte mein Problen gut schildert und meine Fragen auch verständlich stellen.
Falls noch fragen bestehen bitte fragen.
Liebe Grüße
Sunny