За последние 24 часа нас посетили 50253 программиста и 1689 роботов. Сейчас ищут 1165 программистов ...

dat, time (хоббит или туда и обратно)

Тема в разделе "Прочие вопросы по PHP", создана пользователем html-программист, 22 июн 2012.

  1. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Вот есть у меня в базе данных записи, у каждой записи есть время создания, которое определялось функцией time(). Из нее можно получить дату как-то так date('d-m-Y', time()), а вот как сделать обратно? Чтобы time(date('d-m-Y'))?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
  3. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    там в bd храняется записи с таймами, а мне надо выбрать записи за последние 7 дней
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    WHERE FROM_UNIXTIME(`fieldname`) = '2012-06-22'
    WHERE `fieldname` >= 1340308800 AND `fieldname` < 1340395199

    Добавлено спустя 3 минуты 54 секунды:
    WHERE DATE(FROM_UNIXTIME(`fieldname`)) = '2012-06-22'
     
  5. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    У меня это получилось намного более чудовищно :)

    Код (PHP):
    1.     $test=explode('-', $visitors[0]['user_date']);
    2.     foreach($test as $key=>$value){
    3.         $test[$key]=(int)$value;
    4.     }
    5.     $lastweek=mktime(0,0,0,$test[1],$test[0],$test[2]);
    6.     if($lastweek+604800>time()){
    7.         $lastweek=time()-604800;
    8.     }
    9.  
    10.     $visitors=$counter->selectRegCounter($lastweek, $user); 
    а потом вот так:

    Код (PHP):
    1.     function selectRegCounter($lastweek, $p){
    2.         $today=time();
    3.         $sql="SELECT user_date FROM alex_p1p2 WHERE user_p='{$p}' AND user_date BETWEEN '{$lastweek}' and '{$today}'";
    4.         $test=$this->sql($sql);
    5.         $i=0;
    6.         while($row=mysql_fetch_assoc($test)){
    7.                 $count[$i]=$row['user_date'];
    8.                 $i++;
    9.         }
    10.         $i=0;
    11.         $array[$i]['user_date']=date('d-m-Y', $lastweek);
    12.         $array[$i]['user_counter']=0;
    13.         if(is_array($count)){
    14.             foreach($count as $value){
    15.                 $temp_dat=date('d-m-Y', $value);
    16.                 if($temp_dat==$array[$i]['user_date']){
    17.                     $array[$i]['user_counter']++;
    18.                 }else{
    19.                     $i++;
    20.                     $array[$i]['user_date']=$temp_dat;
    21.                     $array[$i]['user_counter']=1;
    22.                 }
    23.             }
    24.         }
    25.         return $array;
    26.         
    27.     }