Hallo, baue seit Stunden an einer eigentlich ganz einfachen Aufgabe. Ich lade entsprechende Wert in ein Array ($ja), jetzt möchte ich prüfen ob alle Werte mit einem anderen Array ($array) übereinstimmen:
	
Komischerweise wird aber nur jeder zweite Treffer gezählt ??!!
Hat jemand ne Idee (die Suche im Forum hat nichts gebracht)
					PHP Code:
	
	
$wert = "ahk abnehmbar 7 polig";
echo "Aktueller Wert: <b>$wert</b><hr><br>";
$wert = split("[ .,:-]",$wert." ");
for($wi=0;$wi<(count($wert) - 1);$wi++) 
    { 
        if($wert[$wi]!="") 
            { 
                $array[] = strtolower(substr($wert[$wi],0,3));
                $test .= ",".strtolower(substr($wert[$wi],0,3));
                $erw_abfrage .= " || parser LIKE '%".strtolower(substr($wert[($wi + 1)],0,3))."%'"; 
            } 
    }
$db->query("SELECT * FROM parsifal WHERE parser LIKE '%".$array['0']."%' $erw_abfrage");
if(!$db->num_rows()) { echo "Keine Übereinstimmung in der Datenbank gefunden"; }
while ($db->next_record()) 
    {
        $trenne_cache = explode("&",entferne_zeichen(strtolower($db->f("parser"))));
        $ja           = explode(",",str_replace("mit=","",$trenne_cache['0']));
        $nein         = explode(",",str_replace("ohne=","",$trenne_cache['1']));
        
        foreach($nein as $nwert)  { if(in_array($nwert, $array)) { $fehler++; } }
        foreach($ja as $jwert)    { if(in_array($jwert, $array)) { $erfolg++; } }
                    
        echo "Datensatz : <b>".$db->f("term_de")."</b>";
        if(!isset($fehler) && $erfolg == count($ja)) { echo " -> Das Extra wurde übernommen"; }
        echo "<br>Treffer: $erfolg von ".count($ja)." (Fehler: $fehler)<br><br>";
        unset($fehler);
        unset($erfolg); 
    } 
Hat jemand ne Idee (die Suche im Forum hat nichts gebracht)
          
Comment