2016-10-11 3 views
0

Итак, я создаю историю изменений страницы из базы данных, которая имеет одну строку для каждого обновления. Мне нужно представить только измененные значения. Я представляю эти значения в цикле Еогеаспа (чтобы сделать его более простым я уменьшил его до 1 значения: рабочие станции):Цикл Foreach: если строка равна предыдущей строке

$sth = $pdo->prepare(" 
SELECT * FROM user_customers_history 
"); 

$sth->execute(); 

foreach ($sth as $key => $row) { 

$crm_workstations = $row['crm_workstations']; 

if (($crm_workstations > 0) && ($crm_workstations != $crm_workstations)){ 

     echo '<br/><br/>' . $crm_workstations; 

} 

Я определил $ ключа в качестве индекса, но я не знаю, как использовать его. Я знаю, что хочу представить его таким образом: для каждого индекса проверьте, совпадает ли значение с предыдущим значением индекса. Если они не равны, покажите это.

+2

Вы должны «принести» первый. –

+1

попробуйте опубликовать свой полный код .... не слишком уверен, что вы пытаетесь сделать здесь. Вы пытаетесь сравнить значения БД с пользовательскими значениями ввода? – Austin

+0

Спасибо @ Fred-ii-, вот так: '$ sth-> fetch (PDO :: FETCH_ASSOC);'? – Lukas

ответ

1

Определить предыдущее значение вашей переменной для сравнения с текущим:

$sth = $pdo->prepare(" 
SELECT * FROM user_customers_history 
"); 

$sth->execute(); 

$prev_workstations = ''; 

while ($row = $sth->fetch()) { 

    $crm_workstations = $row['crm_workstations']; 
    if (($crm_workstations > 0) && ($crm_workstations != $prev_workstations)){ 

     $prev_workstations = $crm_workstations; 
     echo '<br/><br/>' . $crm_workstations; 

    } 
} 

Они просят меня, чтобы изменить более 6 символов мне нужно написать Somthing: D

+0

Спасибо за ответ, он действительно работает !!!! – Lukas

Смежные вопросы