Arrays aus MYSQL vergleichen und Werte ändern.

Christian Springer

Grünschnabel
Moin,

ich habe 4 Datenbanken die ich vergleichen muss.

Die Datenbanken lese ich so aus:

$redatensql = mysql_query("select Artikelnummer,Artikelanzahl from reeingabe where `Rechnungsdatum` LIKE '%".$_POST["ausgabedatum"]."%'");
$redaten = mysql_fetch_array($redatensql);

$ligmdatensql = mysql_query("select Artikelnummer,Artikelanzahl from lieingabegmbh where `Lieferscheindatum` LIKE '%".$_POST["ausgabedatum"]."%'");
$ligmdaten = mysql_fetch_array($ligmdatensql)

$papdatensql = mysql_query("select Artikelnummer,Artikelanzahl from lieingabepap where `Lieferscheindatum` LIKE '%".$_POST["ausgabedatum"]."%'");
$papdaten = mysql_fetch_array($papdatensql);

$lehdatensql = mysql_query("select Artikelnummer,Artikelanzahl from lieingabele where `Lieferscheindatum` LIKE '%".$_POST["ausgabedatum"]."%'");
$lehdaten = mysql_fetch_array($lehdatensql);

Die Daten die ich nun in den Arrays habe muss ich so vergleichen, dass ich die zu viel oder zu wenig gekommen Artikel angezeigt werden.

Sollte so aussehen:

$redaten - Werte von $ligmdaten;
$redaten - Werte von $papdaten;
$redaten - Werte von $lehdaten;

Als Ausgabe sollten dann nicht zugewiesene Daten von den 3 Datenbanken $ligmdaten, $papdaten und $lehdaten angezeigt werden sowie die noch übriggebliebenen Daten aus $redaten.

Wie kann ich so etwas realisieren oder denke ich zu kompliziert?
Mach so etwas zu selten und beiße mir gerade die Zähne daran aus.

Bitte helft einem Leihen.

Gruß

Christian
 
Mit mysql_fetch_array bekommst du aber nur die erste Zeile. Der Array beinhaltet dann die Felder.

PHP:
    $redatensql = mysql_query("select Artikelnummer,Artikelanzahl from reeingabe where `Rechnungsdatum` LIKE '%".$_POST["ausgabedatum"]."%'");
    while($row = mysql_fetch_array($redatensql)){
        //Artikel-Nummer für späteren Vergleich als Schlüssel verwenden
        $redaten[$redatensql['Artikelnummer']] = $row;
    }

    $ligmdatensql = mysql_query("select Artikelnummer,Artikelanzahl from lieingabegmbh where `Lieferscheindatum` LIKE '%".$_POST["ausgabedatum"]."%'");
    while($row = mysql_fetch_array($ligmdatensql)){
        //Artikel-Nummer für späteren Vergleich als Schlüssel verwenden
        $ligmdaten[$ligmdatensql['Artikelnummer']] = $row;
    }

    //$redaten die in $ligmdaten nicht vorhanden sind:

    $rest = array_diff_key($redaten, $ligmdaten);
 
Danke für die schnelle Antwort.
Ich bekomme das nicht so ganz hin.
Die Daten müssen auch noch verglichen werden.
Bedeutet das im Array $redaten die Artikelnummern gesucht werden sollen und dann die Artikelanzahl in dem Array $redaten um die Zahl verringert werden soll die im Array $ligmdaten bei dem Artikel stehen.
Ich hoffe dass das geht.
 
Zurück