За последние 24 часа нас посетили 21373 программиста и 1696 роботов. Сейчас ищут 1794 программиста ...

Длительное хранение переменных

Тема в разделе "Вопросы от блондинок", создана пользователем dslychko, 14 июн 2007.

  1. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Подскажите как хранить значение переменных длительное время (около недели) ?
    Чтобы с разных компьютеров под разными логинами использовать одни значения переменных разными php скриптами.
    Пробовал через сессии, но после перезагрузки браузера, переменный сбрасываются. Сессии не подходят.
    Заранее спасибо. Не пинайте, поиском пользовался.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а подробнее и более внятно?

    просто записать переменные с их значениями в какой-нибудь conf.php и подключать его...
     
  3. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
  4. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    localhost
    C:\WebServers\usr\local\php\php.ini
    session.cookie_lifetime = 50000000000


    при таких настройках при закрытии браузера очищаются переменные сессии.
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  6. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    плюшки не подходят потому что
     
  7. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dslychko
    Храни переменные в базе данных :)
    Или хотя бы сформулируй задачу более конкретно. Что за данные такие?
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    dslychko
     
  9. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    мдя ... не так вопрос прочел!

    действительно ... чтобы управлять временем жизни переменной независимой от сессии (в данном случае сессия - сеанс работы пользователя) база данных удобнее .... можно конечно и в файле ... но это не так удобно!
     
  10. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Есть ещё такой вопрос.
    Нужно при нажатии на ссылку в одном скрипте , передавать данные в другой скрипт. Каким кодом это сделать ?

    Однако ссылок в скрипте много.
     
  11. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Нашёл такое решение


    Код (Text):
    1. <a   href=\"2.php"."?ID=".Ни."\" >Ни</a>


    Извините блондина ))
     
  12. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Пишется в базу данных дата в формате $d=date("d.m.y");

    Как извлечь из базы данные за текущий год , текущий месяц , текущую неделю (разные запросы) ?

    $sql = mysql_query("SELECT * FROM links where date = 'Что тут должно быть ?' " ,$db);
     
  13. Davil

    Davil Guest

    Функция serialize() и unserialize(). (еще смотря какие переменные надо хранить. Можно хранить и просто значения.)
    А где хранить - это уже не проблема.
     
  14. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0

    date = '*.*.y'

    Что-то типа этого ?
    Как в РНР обозначается любое число ?
     
  15. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    memcached + PECL memcache модуль для PHP
     
  16. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    select * from ... where поле_даты between '2007-01-01' and '2007-01-31'
     
  17. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    А штатными средствами РНР этого нельзя сделать ?
     
  18. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    можно, наверное... только зачем? если вы из базы выбираете данные за период, логично использовать для этого соответствующий запрос, чтобы не разгребать затем в скрипте кучу не относящейся к делу информации
    кстати, дату есть смысл записывать в базу в формате date("Y-m-d"). если, конечно, вы потом хотите её оттуда прочитать
     
  19. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Подскажите, а как вывести период за неделю ?
    Нужно вычислить число понедельника и воскресенья текущей недели. Как это сделать ?
     
  20. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    ну что ж, давайте сделаем это вместе.

    1/ открываем руководство по мускулу, вторую настольную книжку php-разработчика (если ещё не распечатали и не прочитали запоем, то ниже ссылочка), главу 12 Функции и операторы, раздел 12.6 Функции для работы с датой и временем
    http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html

    2/ функцию curdate() мы, конечно, уже знаем, но можем взглянуть ещё разик на описание. заодно посмотрим в примеры функции date_add(), чтобы освежить принципы сложения и вычитания дат, а плюс и использование интервалов. однако, ищем мы, конечно же, функцию, которая определит для нас текущий день недели. зная его, мы легко найдём и текущий понедельник, и следующее воскресенье. да вот же они! две сразу. видите? одна -- dayofweek(), номер дня недели в формате ODBC. бр-р-р, единица обозначает воскресенье! ужас какой. отпадает, т.к. нелогично. следующий претендент -- weekday(). о! как раз то, что нужно! ноль соответствует понедельнику. ну, теперь дело техники.

    3/ запрос напишите сами в качестве домашнего задания (мозг надо хоть иногда напрягать)
     
  21. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Я и думал что в этом направлении двигаться нужно.
    date('w') - возвращает порядковый номер дня недели.

    $fday - Число воскресенья текущей недели
    $lday - Число понедельника текущей недели

    Код (Text):
    1. IF (date('w')==0) // текущий день воскресенье
    2. {
    3. $fday = date('d') - 6 ;
    4. $lday = date('d') ;
    5. }
    6.  
    7. IF (date('w')==1) // текущий день понедельник
    8. {
    9. $fday = date('d');
    10. $lday = date('d') + 6 ;
    11. }
    Ну и так далее.
    Правильно ?
     
  22. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Ну и запрос соответственно такой :


    Код (Text):
    1. $year = date("y") ;
    2. $mounth = date("m") ;
    3. $day = date("d") ;
    4.  
    5.  
    6.   $sql = mysql_query("SELECT * FROM links  where date between '$fday.$mounth.$year' and '$lday.$mounth.$year' ORDER by ID " ,$db);
    Напомню что формат даты использую date('d.m.y')

    Тут ведь дело не в том что я не знал пути решения. Я думал этот способ не является оптимальным. Хотя может так и есть :)
     
  23. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    ну как вам сказать... двойка. с плюсом (всё-таки, похоже, думали)
    1/ пожалуйста, перестаньте записывать даты в формате день.месяц.год. rtfm http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
    2/ разговор шёл (если вы, конечно, читаете сообщения) о реализации границ средствами мускула
    3/ для реализации ограничителей средствами php работаем по предыдущему алгоритму, но используем руководство php, первую настольную книжку php-разработчика, главу Работа с функциями даты и времени, функцию strtotime() с параметрами 'last Monday' и 'next Sunday'
     
  24. dslychko

    dslychko Активный пользователь

    С нами с:
    14 июн 2007
    Сообщения:
    144
    Симпатии:
    0
    Котировки forex

    Подскажите от куда брать котировки forex ?
    В частности интересует валютная пара Евро-Доллар.
    Собственными силами разобраться не удалось.
     
  25. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград