Общее количество внутри цикла if of while

Я пытаюсь понять, как сделать totalCount внутри цикла if цикла while, но пока не удалось этого сделать.

Как я могу достичь своей цели с помощью этого кода

    $rowCount = 1;
    while ($clientrows = $statement->fetch()) {
    // should return 1000 rows 
        if ($clientrows['company'] != $current_client) {
            echo $rowCount++;
            $rowCount++;
                    // return clientX (one time)        
        }
        if ($clientrows['time'] != NULL  ) {
                    // returns X rows of clientX(from the previews count 
                    // could be any number but lets say here it should be 100 rows


            echo $rowCount++;
            $rowCount++;
            // i need the total counts inside this IF($clientrows['time'] != NULL  )

        }
                    echo $rowCount++; // doesn't show anything 
        // create here the IF total count of previews IF function
        // if($totalCounts) {
        //      echo ' Do something here ';
        // }
    }
    echo $rowCount++; //shows the total rows of while loop while ($clientrows = $statement->fetch())

если я поставлю count++ сразу после функции ЕСЛИ, он ничего не покажет, если я сделаю это в конце, то он подсчитает все

EDIT Количество counts возвращает все строки моего цикла while ($clientrows = $statement->fetch() (то есть около 1000), что мне нужно сделать, это получить общее количество строк этот IF statment
if ($clientrows['time'] != NULL ) { } Это может быть 100, 101 или 200 из 1000 строк.

Помощь?


person Visual    schedule 28.05.2014    source источник
comment
Вы уверены, что условия соблюдены?   -  person casraf    schedule 28.05.2014
comment
Я не уверен, что вы делаете, но вам может понадобиться удалить лишний ++ на echo $rowCount++;, так как вы считаете дважды   -  person    schedule 28.05.2014
comment
Чен условия выполнены, vlzvl я только что отредактировал свой вопрос, чтобы уточнить   -  person Visual    schedule 28.05.2014


Ответы (2)


"++" - приращение. Это добавит + 1 в вашу переменную. Это равно $a = $a + 1;

Вместо

echo $rowCount++;
$rowCount++;

записывать

echo $rowCount;
$rowCount++;

Редактировать. Я только что прочитал ваш комментарий в сценарии

//shows the total rows of while loop while ($clientrows = $statement->fetch())

Разве вы не можете просто использовать $statment->num_rows()?

person SoftGuide    schedule 28.05.2014
comment
Тогда echo $rowCount++; будет достаточно. - person Friedrich; 28.05.2014
comment
echo $rowCount++; сначала выведет $rowCount, а затем увеличит его на единицу. echo ++$rowCount; сначала увеличит $rowCount, а затем повторит его. - person Friedrich; 28.05.2014
comment
SoftGuide спасибо за ответ, но $statment-›num_rows (я использую pdo), поэтому я сделал так, $statement-›rowCount() возвращает все строки, что правильно, но мне нужно получить только общее количество строк в моем операторе IF, если ($ clientrows['time'] != NULL ), которое может быть любым числом, которое я не знаю, от 100 строк до 200 или даже 50 - person Visual; 28.05.2014

Когда вы делаете echo $rowCount++;, вы увеличиваете $rowCount, даже если вы только повторяете его.

person Charaf JRA    schedule 28.05.2014