За последние 24 часа нас посетили 18439 программистов и 1630 роботов. Сейчас ищут 1813 программистов ...

Вывод имён по очереди а не рандомно

Тема в разделе "Сделайте за меня", создана пользователем Litalia, 12 июн 2016.

  1. Litalia

    Litalia Новичок

    С нами с:
    18 май 2016
    Сообщения:
    19
    Симпатии:
    0
    Код (Text):
    1. $name = file('fakename.php', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    2. $v_nickname = $name[array_rand($name)];
    3.  
    4.    
    5.     $arrs = json_decode(file_get_contents('cron_info.php'), true);
    6.     $new_tmp = array(
    7.                 'id' => $arrs[0]['id']+1,
    8.                 'fake_nickname' => "$v_nickname",
    9.                 'fake' => '1',
    10.                 'image' => "$image",
    11.                 'type' => "$type",
    12.                 'firstName' => "$firstName",
    13.                 'v_nickname'  => '',
    14.                 'from_social' => 'vk'
    15.             );
    Хотелось бы что бы имена из файла fakename.php выводились по очереди а не рандомно
    Кто может помогите
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я тут вижу только получения одного имени из файла. Как всё там работает? Чтобы понять как имена по очереди могут браться.
     
  3. Litalia

    Litalia Новичок

    С нами с:
    18 май 2016
    Сообщения:
    19
    Симпатии:
    0
    Код (Text):
    1. <?php
    2. include('classCases.php');
    3.  
    4. $minUpdTime = 1; // Минимальное время, через которое может создаться фэйковый результат
    5.                  // Рассчитывается исходя из времени последней записи результата (либо фэйкового, либо настоящего)
    6.  
    7. if(rand(0,3) == 1 && filectime('cron_info.php') < time()-$minUpdTime){
    8.     $itemsCount = 10; // Количество показываемых предметов
    9.  
    10.     $operationval = array_rand($arr, 1); // Получаем имя кейса
    11.     $case = $arr[$operationval];
    12.  
    13.     $random = steamRandom(0, $operationval, $arr);
    14.     $cases = $case[$random][3];
    15.  
    16.     $case = $case[$random];
    17.     $image = $case[3];
    18.     $type = $case[2];
    19.     $firstName = $case[0];
    20.  
    21.     /*----------------------------------*/
    22.     $name = file('fakename.php', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    23. $v_nickname = $name[array_rand($name)];
    24.  
    25.    
    26.     $arrs = json_decode(file_get_contents('cron_info.php'), true);
    27.     $new_tmp = array(
    28.                 'id' => $arrs[0]['id']+1,
    29.                 'fake_nickname' => "$v_nickname",
    30.                 'fake' => '1',
    31.                 'image' => "$image",
    32.                 'type' => "$type",
    33.                 'firstName' => "$firstName",
    34.                 'v_nickname'  => '',
    35.                 'from_social' => 'vk'
    36.             );
    37.  
    38.     $arrsse[] = $new_tmp;  
    39.     for($i=0; $i<$itemsCount-1; $i++) $arrsse[] = $arrs[$i];
    40.    
    41.     file_put_contents('cron_info.php', '');
    42.     $file_hendle = fopen('cron_info.php', 'w');
    43.     fputs($file_hendle, json_encode($arrsse));
    44.     fclose($file_hendle);
    45. }
    46.  
    47. include('cron_info.php');
    48.  
    49. function steamRandom($skill, $case, $arr) {
    50.     switch ($skill) {
    51.         case 0:
    52.             $fora = 65;// 0 - 99 + шанс на победу норм вещей.
    53.             $fora = 10 * $fora;
    54.             $rand = mt_rand($fora, 1000);//Настраиваеммый рандом
    55.             break;
    56.         //50
    57.         case 1:
    58.             $rand = mt_rand(0,1000);//Настраиваеммый рандом
    59.             break;
    60.         //70
    61.         case 2:
    62.             $rand = mt_rand(700,1000);//Настраиваеммый рандом
    63.             break;
    64.         //90
    65.         case 3:
    66.             $rand = mt_rand(999,1000);//Настраиваеммый рандом
    67.             break;
    68.     }
    69.     if($rand >= 0 && $rand < 797) { // milspec
    70.         foreach($arr[$case] as $key => $val)
    71.             if($val[2] == 'milspec') $arrs[] = $key;  
    72.         return $arrs[rand(0, count($arrs)-1)];
    73.      }
    74.     if($rand >= 797 && $rand < 850) { // restricted
    75.         foreach($arr[$case] as $key => $val)
    76.             if($val[2] == 'restricted')$arrs[] = $key;  
    77.         return $arrs[rand(0, count($arrs)-1)];
    78.     }
    79.     if($rand >= 850 && $rand < 971) { // classified
    80.         foreach($arr[$case] as $key => $val)
    81.             if($val[2] == 'classified')$arrs[] = $key;  
    82.         return $arrs[rand(0, count($arrs)-1)];
    83.     }
    84.     if($rand >= 971 && $rand < 990) { // covert
    85.         foreach($arr[$case] as $key => $val)
    86.             if($val[2] == 'covert')$arrs[] = $key;  
    87.         return $arrs[rand(0, count($arrs)-1)];
    88.     }
    89.     if($rand >= 990) { // rare
    90.         foreach($arr[$case] as $key => $val)
    91.             if($val[2] == 'rare')$arrs[] = $key;  
    92.         return $arrs[rand(0, count($arrs)-1)];
    93.     }
    94.     // Если ничего не вышло
    95.     return rand(0, count($arr[$case])-1);
    96. }
    97. exit;
    98. ?>



    вот такой у меня полностью код вывода. Получается выводится случайная картинка и выводится под ней случайное имя. Хочется так то бы случайная картинка выводилась а вот имя из файла бралось по очереди ( то есть не так вот 1,5,9,45 а чтобы было по очереди 1,2,3,4,5,6)
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    за один раз показывается одно имя? или на странице сразу все имена? из кода не понятно или скорее первое
     
  5. Litalia

    Litalia Новичок

    С нами с:
    18 май 2016
    Сообщения:
    19
    Симпатии:
    0
    Получается идёт строка выводится 10 картинок и под ними 10 имён и через определённое время добавляется какое-то случайное имя из файла
    Выходит так что за определённое время в строку добавляется 1 имя
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Чтобы сделать по очереди, то надо где-то хранить последнюю запись. Или хочешь чтобы показывался следующих ник через какой-то промежуток времени?
     
  7. Litalia

    Litalia Новичок

    С нами с:
    18 май 2016
    Сообщения:
    19
    Симпатии:
    0
    Не очень понял вопроса. Мне нужно что бы имена которые я вписал в файл fakename.php выводились в порядке то есть по списку. А не выбиралось имя из файла fakename.php и выдавало рандомно.
    Просто сейчас все имена идут в разброс то есть у меня у файле записано 2500 имён и оно выбирает случайную(456,764,1095) цифру и под этой цифрой выводит имя.
    А нужно что бы цифры брались по очереди (1,2,3,4) и под ними выводились именна