Вычтите предыдущую переменную с текущей переменной в цикле php while - PullRequest
0 голосов
/ 06 декабря 2018

На самом деле, я действительно не знаю, как получить значение вычитания той же переменной.

Например (ожидаемое значение)

expected output

и мойкод был такой:

$sel = mysql_query("SELECT RIGHT(serial,4) as value, serial, date 
    from photodata 
    where folder='$m' or (serial >= '$cm' && serial <= '$cm2')") or die(mysql_error());

while ($selt=mysql_fetch_array($sel)) {
    $value = $selt['value'];
    $ser = $selt['serial'];
    $dd = $selt['date'];
    $rr = $value-$value;  
}

Я действительно уверен, что $ rr не сработает, но я только что попробовал.Пожалуйста, кто-нибудь, помогите мне.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Просто выведите $ rr как значение вычитания и проверьте, изменил ли какой-то код в приведенном выше фрагменте.Надеюсь, это поможет вам.

$index = 0;
$oldv = 0;
while ($selt=mysql_fetch_array($sel)) {
    $value = $selt['value'];
    $ser = $selt['serial'];
    $dd = $selt['date']; 
    if($index==0) {
        $oldv = $value;
        $index = 1;
     }
    $rr = $value - $oldv;
    echo $rr;
    $oldv = $value;
 }
0 голосов
/ 06 декабря 2018

Я предполагаю, что вы хотите вычесть значение предыдущей строки.Хотя рекомендуется не использовать функции mysql_ *.

$oldv = 0;
while ($selt=mysql_fetch_array($sel)) {
 $oldv = ($oldv == 0) ? $value : $oldv;
 $value= $selt['value'];
 $ser=$selt['serial'];
 $dd=$selt['date'];
 echo $subtract = $value - $oldv;
 echo $oldv = $value;
}
...