Утра,PHP - Перебор всех записей в таблице
У меня есть таблица с именем wp_cam_rules
, который имеет два поля в нем (два, что я заинтересован в) они rule_exclude_values
и rule_include_values
. Примерно 100 записей в wp_cam_rules
. rule_exclude_values
и rule_include_values
содержат список, разделенный запятой.
Что я хочу сделать, используя php, представляет собой цикл через каждую из строк и проверяет некоторые критерии.
В основном функция примет строку ($ x), проверьте, содержит ли эта строка любое исключающее слово (rule_exclude_values
). Если он не проверяет, содержит ли он какие-либо слова включения (rule_include_values
) и соответствующим образом печатает текст.
Проблема, с которой я столкнулся в данный момент, заключается в том, что код, кажется, останавливается после первой записи и не зацикливается, пожалуйста, кто-нибудь может помочь?
Вот код:
function get_attributes($x) {
$sql = "SELECT * FROM wp_wcam_rules";
$result = mysql_query($sql) or die(mysql_error());
$attribute_results= array();
while($row = mysql_fetch_assoc($result)) {
$attribute_results[] = $row;
}
foreach ($attribute_results as $row) {
$exclude_words = $row['rule_exclude_values'];
$include_words = $row['rule_include_values'];
foreach ($exclude_words as $exclude_value) {
if (stripos($x,$exclude_value)===false) {
$skip_word = false;
} else {
$y.= 'Excluded: '.$exclude_value;
$skip_word = true;
break;
}
}
if ($skip_word ===false) {
foreach ($include_words as $include_value) {
if (stripos($x,$include_value) !== false) {
$y .= 'Attribute Found: '.$include_value;
continue;
}
}
}
return $y;
}
}
Благодаря Chris
Почему вы делаете то время цикла, поместите все строки внутри него, а затем цикл через все строки снова? Почему бы вам просто не взять петлю сразу? – Xatenev