Я бы удалил элементы, которые не прошли проверку, из массива, после чего в конце был бы оператор mysql вне цикла.Используйте unset, но вы должны следить за тем, какие ключи нужно сбросить, как это:
foreach ($statnumber as $key => $element) {
if($statnumber != $LastWeeksStats && is_numeric($element)) {
//do nothing because it is valid
} else {
//remove that element from the array
unset($statnumber[$key]);
echo "'{$element}' is NOT numeric or results same as last week", PHP_EOL;
}
}
//now only valid data is in the array and you can use a mysql query
Вам нужно будет обновить запрос mysql, основываясь на том, сколько элементов на самом деле находится в массиве в конце, например:
foreach($statnumber as $key => $element) {
$keys[] = "stat$key";
$elements[] = "'$element'";
}
$keystring = implode(",",$keys);
$elementstring = implode(",",$elements);
mysql_query("INSERT INTO tablename (idproducts, $keystring, superstat1) VALUES('8', $elementstring)") or die(mysql_error());