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)
Kommentar