Задать вопрос
  • Как перебрать на совпадение все свойства объекта из LocalStorage и вывести в массив по три элемента?

    @tajfun_rt Автор вопроса
    Спасибо.
    Отсортировал массив
    Создал двухмерный массив,
    Циклом перебрал все записи создав условие и заполнив массив по 3 записи

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

    let obj =  [{"city":"Город1", "name":"Имя1"},{"city":"Город2", "name":"Имя2"},{"city":"Город1", "name":"Имя3"},{"city":"Город1", "name":"Имя4"},{"city":"Город3", "name":"Имя5"},{"city":"Город1", "name":"Имя6"},{"city":"Город2", "name":"Имя7"}];
    
    function compare( a, b ) {
      if ( a.city < b.city ){
        return -1;
      }
      if ( a.city > b.city ){
        return 1;
      }
      return 0;
    }
    obj.sort(compare);
    
    
    var arr=[];
    counter=Object.keys(obj).length;
    let i=0, j=0;
    arr[i]=[];
    for (let item = 0; item <= counter; item++) {
       if (obj.hasOwnProperty(item)){
         arr[i][j] = [obj[item].city, obj[item].name];
       }
       else {break;}
       
       if (j==2 && obj.hasOwnProperty(item+1) && obj[item].city===obj[item+1].city){
         j=0;
         i++;
         arr[i]=[];
        }
        else if (j<2 && obj.hasOwnProperty(item+1) && obj[item].city != obj[item+1].city){
          j=0;
         i++;
         arr[i]=[];
        }
         
         
       else {j++;}
    } 
    
    console.log(arr)
    Написано
  • Скрипт замены языковой раскладки и скрипт автозаполнение для одного input'а работает некорректно, как поправить?

    @tajfun_rt Автор вопроса
    Во втором скрипте переменная query при русской раскладке принимает значение вводимое в инпуте , а при английской рассадке переменная пустая, но стоит удалить один символ в инпуте и появляются русские буквы в значении переменной, которые и отправляются ajax'ом. Осталось найти, почему стираются английские буквы, и если я их оставлю, то смогу на стороне сервера конвертировать в русские и тогда второй скрипт сработает. Продолжаю поиск решения)..
    Написано
  • Как прочитать файл через РНР, чтобы обработать его яваскриптом?

    @tajfun_rt Автор вопроса
    no_one_safe, спасибо, переделываю на File и FileReader, посмотрим что получиться
    Написано
  • Как прочитать файл через РНР, чтобы обработать его яваскриптом?

    @tajfun_rt Автор вопроса
    Антон Антон,
    Без возврата не обрабатывается дальнейший код
    echo "<script>localStorage.setItem('$i','$arr1');</script>";
    fclose($file);
    echo '<script type="text/javascript"> window.location = "../index.php"</script>';

    Все работает, читает файл , ищет маркеры, собирает в массив и отправляет в localStorage, а после возвращается на главную.
    Написано
  • Как прочитать файл через РНР, чтобы обработать его яваскриптом?

    @tajfun_rt Автор вопроса
    Lynn «Кофеман», Спасибо большое, все работает.

    header('Content-Type: text/plain');
    $content = fread($file,filesize($readfilename));
    header('Content-Type: text/html');

    Получил строку, потом обратно вернул html .
    Написано
  • Как правильно обновить БД с помощью формы выведенной в цикле?

    @tajfun_rt Автор вопроса
    Вот так в базе данных сидит
    Array ( 
    [0] => Array ( 
                  [id] => 1
                  [team] => А1		  
                  [name] => Иван 
                  [lastname] => Иванов 
                  [age] => 1960 
                  [number_user] => 1 )
    [1] => Array ( 
                  [id] => 2 
    	      [team] => А1	
                  [name] => Вася
                  [lastname] => Иванов 
                  [age] => 1960 
                  [number_user] => 2 )
    )

    каждому участнику свой уникальный id, выборка участников из команд с помощью [team], форма для каждого участника в команде выводиться по [number_user]

    Я думал сделать одну формы и просто добавлять группу полей нужных участников, и ее же корректировать одной кнопкой, но так мне показалось сложней, надо на выходе из формы массив собрать. А как его собирать, используя динамические поля в форме.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    @tajfun_rt Автор вопроса
    ThunderCat, точно, все спасибо заработало)))

    Добавил в файл download.php строчки с указанием каталога, теперь работает

    <?php
    $filename = $_GET['d'];
    $dir = $_SERVER['DOCUMENT_ROOT'] . '/upload/'; 
    $file = $dir.$filename;
    header("Expires: 0");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    $basename = pathinfo($file, PATHINFO_BASENAME);
    header("Content-type: application/".$ext);
    header('Content-length: '.filesize($file));
    header("Content-Disposition: attachment; filename=".basename($file));
    if (ob_get_contents()) ob_end_clean();
    flush();
    readfile($file);
    exit;
    ?>
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    @tajfun_rt Автор вопроса
    Я сделал следующее , заменил строчку с ссылкой на вот это.
    echo '<td><a href="download.php?d='. basename($fileName) .'">'.$name_file.'</a></td>';

    создал файл download.php, в нем прописал следующее:
    <?php
    $file = $_GET['d'];
    header("Expires: 0");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    $basename = pathinfo($file, PATHINFO_BASENAME);
    header("Content-type: application/".$ext);
    header('Content-length: '.filesize($file));
    header("Content-Disposition: attachment; filename=\"$basename\"");
    ob_clean(); 
    flush();
    readfile($file);
    exit;
    ?>

    Результат скачивается не файл file1.txt а какой-то download.php , открыв его там ошибки

    <br />
    <b>Warning</b>:  filesize(): stat failed for file1.txt in 
    <br />
    <b>Warning</b>:  Cannot modify header information - headers already sent by (output started at 
    <br />
    <b>Warning</b>:  Cannot modify header information - headers already sent by (output started at 
    <b>Notice</b>:  ob_clean(): Failed to delete buffer. No buffer to delete in 
    <br />
    <b>Warning</b>:  readfile(file1.txt): Failed to open stream: No such file or directory in
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    @tajfun_rt Автор вопроса
    Я пробовал по примеру с readfile() не получается. Вот по этому примеру
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    @tajfun_rt Автор вопроса
    Сайт чистый php
    Написано
  • Как автоматически подставлять значение в value?

    @tajfun_rt Автор вопроса
    Михаил Ливач,
    в базу данных числа без нулей заливаются нужно только в inpute в поле показать. Пользователи (60+), которые вбивают эти данные привыкли вбивать формата 001, и чтобы время не терять на эти нули, в поле они уже будут подставлены, а в базу пойдут без них. Не о нулях дело, это я уже сделал как ввести эти нули тут проблем нет.

    100 пользователей одновременно вбили свои данные с номерами 001, и все это пошло в одну таблицу как посоветовали выше, там этих данных с 001 тьма будет. Но у каждого пользователя свои 001.
    Вопрос был как автоматически подставлять значение в value начиная 1 и т.д с шагом +1.
  • Как автоматически подставлять значение в value?

    @tajfun_rt Автор вопроса
    С таблицей понял переделаю.
    По нумерации, в форме которую отправляю в таблицу, следующие данные
    001 данные данные данные данные данные
    002 данные данные данные данные данные
    004 данные данные данные данные данные
    ..........

    и чтобы вот эти цифры не заполнять они должны быть введены заранее, но должны быть в поле чтобы возможно было откорректировать. А следующий номер на +1 от предыдущего.
  • Как автоматически подставлять значение в value?

    @tajfun_rt Автор вопроса
    Да начинающий , возможно я не правильно делаю.
    Мне нужно записывать идентификатор который может быть 001, 002, 005 ,006 т.е. возможен пропуск. Также возможно, что заполнение будет в течении нескольких дней, т.е. хранить счетчик временно не получиться.
    Наверно надо какое то условие сделать, которое просматривало предыдущую строку в таблице БД вытаскивала идентификатор и прибавляла +1.
    Второй день уже пробую всякие вариант, успеха нет.
    А имя таблицы динамическая потому, что для каждого юзера своя таблица генерируется. Может я тут тоже неправильно сделал.
  • Как автоматически подставлять значение в value?

    @tajfun_rt Автор вопроса
    Возможно я неправильно выразился , при отправки формы, поля очищаются , но на том поле где цифры остается значение предыдущего числа . Т.е. в форме подставилось 001, заполнили, отправили, 001 осталось, остальные поля пустые. Стоит перезагрузить страницу Ctr+F5 поле примет значение 002.
    Сейчас попробовал это
    let counter = document.getElementById('num1');
    $(document).ready(function () {
        $(document).on('submit','form',function(e){
               counter.value = parseInt(counter.value) + 1;
         })
    })

    В поле стоит например 001, оправляю форму на мгновение в поле появляется 2 (т.е. в js нули не добавлял) , затем сразу 001 и пустые поля. А в базу данных отправляется 2 т.е. то что js сделал . Обновляю страницу появляется 002.
  • Как сделать ajax фильтрацию по категориям в WP?

    @tajfun_rt Автор вопроса
    ProjectSoft, спасибо работает. Да тег лишний, убрал.
  • Как сделать ajax фильтрацию по категориям в WP?

    @tajfun_rt Автор вопроса
    ProjectSoft, со списком на основе тега <li> работает вот с этим JS
    jQuery(document).ready(function($) {
        $('.category-filter a').on('click', function(e) {
            e.preventDefault();
            var cat_id = $(this).data('cat');
            $.ajax({
                url: myAjax.url,
                type: 'POST',
                data: {
                    action: 'filter_posts_by_category',
                    cat_id: cat_id,
                    nonce: myAjax.nonce
                },
                success: function(response) {
                    $('#post-container').html(response);
                },
                error: function(error) {
                    console.log(error);
                }
            });
        });
    });


    а с тегом <option> нет.