ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 18 июня 2014 — 11:40
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Есть файл-база "data/user.php". В ней находятся регистрационные данные юзеров в таком порядке:

дата|имя|мэйл|активация|

В файле это выглядит так:

02.05.2014|Марина|bla.bla@mail.ru|1|
12.06.2014|Sergey|bla.bla@mail.ru|1|
23.11.2013|Олег|bla.bla@mail.ru|0|

Нужен счётчик строк, но без строки с параметром: |0|

Я делаю так:

CODE:
$file = "data/user.php";

$file_array = file($file);
$file_count = count($file_array);


Но считает все строки. Т.е. счётчик показывает, что юзеров 3.
Но мне нужно чтобы счётчик показывал число 2, т.к. только 2 юзера с параметром |1|

Как исключить при подсчёте строку с параметром: |0| ?

(Отредактировано автором: 18 июня 2014 — 11:40)

 
 
BON
Отправлено: 18 июня 2014 — 18:10
Post Id



Администратор
ExBB Team
Admin


Покинул форум
Сообщений всего: 2761
Дата рег-ции: Нояб. 2010  
Откуда: СССР/Белгород
Репутация: 71




ну а сделать извращение тип n-1 нельзя? или сделать условие, что если есть нулевая строка считать со 2й
 
 
Gori
Отправлено: 18 июня 2014 — 18:18
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




BON , на примере можно?
 
 
1Bot
Отправлено: 19 июня 2014 — 01:51
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 770
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




CODE:

$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

$count = 0; // количество зарегистрированных пользователей
for($n=0; $n<$file_count; $n++){
list($data,$name,$mail,$aktiv,$tail) = explode("|",$file_array[$n]);
if($aktiv) $count++;
}

(Отредактировано автором: 19 июня 2014 — 01:52)

 
 
Gori
Отправлено: 19 июня 2014 — 04:35
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




1Bot , пока добился, чтобы имена юзеров выводил, которые с цифрой |1|

Вот так:

CODE:
$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

for($n=0; $n<$file_count; $n++){
list($data,$name,$mail,$aktiv,$tail) = explode("|",$file_array[$n]);
if($aktiv)
{
echo $name;
}
}


Выводит "МаринаSergey"

Но как их посчитать?

(Отредактировано автором: 19 июня 2014 — 04:35)

 
 
1Bot
Отправлено: 19 июня 2014 — 06:14
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 770
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




Gori
Скорее всего файл имеет не ту структуру, которую Вы привели. Прикрепите "data/user.php" с своему сообщению, чтобы посмотреть его структуру.
 
 
Gori
Отправлено: 19 июня 2014 — 06:34
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




1Bot пишет:
Gori
Скорее всего файл имеет не ту структуру, которую Вы привели. Прикрепите "data/user.php" с своему сообщению, чтобы посмотреть его структуру.


Да я немного упростил для примера. Там много значений.

Скачать файл: (для скачивания файла Войдите или зарегистрируйтесь)
Скачан раз: 41
 
 
1Bot
Отправлено: 19 июня 2014 — 07:18
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 770
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




CODE:
<?php
/*
Подсчет количества зарегистрированных пользователей по файлу со структурой

rn|time|name|password|zvezda|email|pol|drdate|delta_gmt|user_skin|icq|url|gorod|interes|sign|avatar|activation|
*/
$file = "data/user.php";
$file_array = file($file);
$file_count = count($file_array);

$count = 0; // количество зарегистрированных пользователей
/* начинаем со второй строки, чтобы пропустить <?die;?> */
for($n=1; $n<$file_count; $n++){
list($rn, $time, $name, $password, $zvezda, $email, $pol,
$drdate, $delta_gmt, $user_skin, $icq,$url, $gorod,
$interes, $sign, $avatar, $activation, $tail) = explode("|",$file_array[$n]);
if($activation) $count++;
}
echo "количество зарегистрированных пользователей = $count\n";
?>
 
 
Gori
Отправлено: 19 июня 2014 — 07:39
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




1Bot , супер! Всё работает! Ура!
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Счётчик строк в файле с исключением некоторых строк
Темы Форум Информация о теме Обновление
Проблема с аваторами
Нет некоторых файлов аваторов.
Решение проблем Ответов: 0
Автор темы: sergan
7 ноября 2009 — 00:49
Автор: sergan
Объединение файлов локализации в один
нужно ли собрать все языковые переменные в одном файле
Обсуждение Ответов: 4
Автор темы: Victor
5 октября 2010 — 20:26
Автор: igrok54
Ошибка
в 499 строке
Общие вопросы Ответов: 6
Автор темы: alebastr89
10 февраля 2010 — 15:15
Автор: alebastr89
Установка SQLite на Denwer
Необходимое условие работы некоторых модов
Общие вопросы Ответов: 1
Автор темы: NordWest
15 апреля 2012 — 08:53
Автор: ermolai
Счётчик посещаемости на форум
Хочу установить счётчик посещаемости на свой форум
Обсуждение Ответов: 2
Автор темы: Vladimir1709
20 декабря 2011 — 15:09
Автор: Vladimir1709
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0809]     [ ]