小编Dod*_*nas的帖子

PHP/MySQL时区澄清

我目前正在解决将MySQL时间转换为特定时区的概念,这取决于用户的设置.

我的所有MySQL时间都以UTC时间存储,格式如下:

2009-11-08 17:06:40

一旦我查询时间,我不太确定如何使用PHP将其转换为适当的时区.

因此,在上面的例子中,我想显示:

2009-11-08 09:06:40

这是我目前拥有的(可能需要修复):

$sql = 'SELECT date FROM mytable';
    require("connection.php");
    $result = mysql_db_query($DBname,$sql,$link); 
    while($row = mysql_fetch_assoc($result)) { 

    $dt_obj = new DateTime($row['date']); 
    $dt_obj->setTimezone(new DateTimeZone('PST')); 
    echo $dt_obj;       
    echo "<br>";
     }
Run Code Online (Sandbox Code Playgroud)

首先,我收到以下错误:

Catchable fatal error: Object of class DateTime could not be converted to string

其次,我很困惑,无论如何我正确地设置它以正确的时区显示时间(在这种情况下,PST).

任何有关如何做到这一点的建议将不胜感激.谢谢!

更新:

我接受了GZipp的建议,并将代码修改为:

$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles')); 
echo $dt_obj->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

但是,它显示我的时间(使用上面的例子):

2009-11-08 15:06:40

关于什么会导致这个的任何想法?

php mysql timezone timestamp

2
推荐指数
1
解决办法
2628
查看次数

Rails - 销毁嵌套属性的子项

我正试图弄清楚这一点.我有以下表格,效果很好!

  <%= bootstrap_form_for @template do |f| %>
     <%= f.text_field :prompt, :class => :span6, :placeholder => "Which one is running?", :autocomplete => :off %>
     <%= f.select 'group_id', options_from_collection_for_select(@groups, 'id', 'name') %>
     <% 4.times do |num| %>
        <%= f.fields_for :template_assignments do |builder| %>
            <%= builder.hidden_field :choice_id %>
            <%= builder.check_box :correct %>
        <% end %>
      <% end %>
   <% end %>
Run Code Online (Sandbox Code Playgroud)

然后我有我的模型:

  class Template < ActiveRecord::Base
   belongs_to :group
   has_many :template_assignments
   has_many :choices, :through => :template_assignments
   accepts_nested_attributes_for :template_assignments, :reject_if => lambda { …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-attributes

2
推荐指数
1
解决办法
4863
查看次数

PHP/MySQL选择语句

这可能很容易:

我有两个变量:

$sender_id
$receiver_id
Run Code Online (Sandbox Code Playgroud)

这些ID存储在tblusers中并分配给用户.我一次选择一个没问题:

$data = mysql_query("SELECT * FROM tblusers WHERE usrID='$receiverID'") or die(mysql_error());

while($row = mysql_fetch_array( $data ))
{
echo $row['usrFirstName'];
echo $row['usrLastName'];
}
Run Code Online (Sandbox Code Playgroud)

但是,我如何选择两个行(一个用于senderID和receiverID),以便我可以访问这两个用户的更多信息.类似于"SELECT中的SELECT".

谢谢!

php mysql

1
推荐指数
1
解决办法
241
查看次数

PHP转换日期然后JSON编码

我有以下MySQL查询:

<?php
$sql = "SELECT * FROM my_table";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error()); 

$rows = array();

while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
 }

 print json_encode($rows);

?>
Run Code Online (Sandbox Code Playgroud)

其中输出以下JSON格式:

 [
  {
   "id":"100",
   "due_date":"2010-08-24 10:00:36"
  }
 ]
Run Code Online (Sandbox Code Playgroud)

我的问题是:在我的MySQL查询中,我如何能够首先转换/修改一行(在本例中为日期),或者更确切地说,我将如何修改当前查询,使用类似于:

$date = strtotime($r['due_date']);
$new_date = date('j M', $date);
Run Code Online (Sandbox Code Playgroud)

然后JSON对结果进行编码,然后返回:

[
 {
 "id":"100",
 "due_date":"24 Aug"
  }
]
Run Code Online (Sandbox Code Playgroud)

php json

1
推荐指数
1
解决办法
1082
查看次数

JSON - 没有子对象

我试图检索一些特定的数据,使用jQuery来检索JSON Feed.

这就是我目前正在做的事情:

var url  = 'https://api.wunderground.com/api/myapicode/conditions/forecast/q/Tokyo.json?callback=?';

$.getJSON(url, function(d){
    var data = d['current_observation'];
    console.dir(data['display_location']);
});
Run Code Online (Sandbox Code Playgroud)

这成功返回到控制台:

city ==> "Tokyo"
country ==> "JP"
country_iso3166 ==> "JP"
elevation  ==> "8.00000000"
full ==> "Tokyo, Japan"
latitude ==> "35.54999924"
etc...
Run Code Online (Sandbox Code Playgroud)

但是,假设我想获得"完整"的名称.如果我尝试:

  console.dir(data['display_location']['full']);
Run Code Online (Sandbox Code Playgroud)

我最终得到了结果: There are no child objects

我在这里做错了什么想法?

javascript json weather-api

1
推荐指数
1
解决办法
2080
查看次数

MySQL'OR'参数 - 确定哪个部分返回行

我有以下MySQL SELECT语句(以及PHP):

SELECT *
FROM EVENTS
WHERE (
 time1
 BETWEEN "2013-04-22 19:30:00"
 AND "2013-04-22 19:50:00"
)
OR (
 time2
   BETWEEN "2013-04-22 19:30:00"
   AND "2013-04-22 19:50:00"
)
Run Code Online (Sandbox Code Playgroud)

以上查询返回以下行:

    id   |        time1        |       time2        |
   -------------------------------------------------
    26     2013-04-22 19:45:00  2013-04-26 12:25:00
Run Code Online (Sandbox Code Playgroud)

所以,显然,time1是返回行.

我的问题是:当我使用上面的SELECT语句迭代行时,如何确定是否是time1或time2'触发'(缺少更好的术语)要返回的行?

任何帮助都会很棒!

php mysql

1
推荐指数
1
解决办法
46
查看次数

Ruby on Rails - nil的未定义方法`map':NilClass

我花了几个小时试图找出我做错了什么,但我无法找到解决方案.简单地说,我正在尝试使用名为"semesters"的表格中的数据填充选择框.(我已经在SO上看到了很多关于这个的问题,但我不能让他们使用我的应用程序).

这就是我所拥有的:

课程控制器

class CoursesController < ApplicationController
  def create
   @semesters = Semester.all()
   @course = Course.new(params[:course])
    # Save the object
    if @course.save
      flash[:notice] = "Course created."
      redirect_to(:action => 'list')
    else
      # If save fails, redisplay the form so user can fix problems
      render('new')
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

视图

#views/courses/new.html.erb
<%= form_for(:course, :url => {:action => 'create'}) do |f| %>
   <%= f.select(:semester, @semesters.map { |s| [ s.name, s.id ] }) %>
   <%= submit_tag("Create Course") %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我希望它会输出:

  <select>
    <option id="1">Spring 2013</option> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails form-helpers

1
推荐指数
1
解决办法
4350
查看次数

大于一的方法?

我有一个在Rails中运行的查询:

me = User.find(1)
my_groups = me.groups
Run Code Online (Sandbox Code Playgroud)

my_groups 可能会返回多行.

有没有办法使用一种方法来确定是否一个快速和肮脏的方式my_groupsme.groups大于一?

也许像是my_groups.greater_than_one? 不是,你会建议在确定查询是否返回> 1行?

me.groups本质上是另一个与User关联的表.它基本上显示了特定用户所属的"组".

ruby ruby-on-rails

1
推荐指数
1
解决办法
747
查看次数

jQuery FullCalendar - 我可以以编程方式调整日历大小

我正在使用FullCalendar,我意识到如果调整窗口大小,FullCalendar的默认设置是处理窗口调整大小并根据需要调整日历.

但是,当选择导航侧边栏滑入/滑出时,我有一个小问题,FullCalendar会留下一些额外的周末周末.(见下文).当Nav Sidebar滑出时,情况正好相反.(周末变得很小).

大周末!

到目前为止唯一的补救措施是调整窗口大小,然后调整日历.但我不希望用户显然必须这样做.

有没有办法以编程方式调整大小/刷新日历大小而不调整窗口大小?

我尝试过类似的东西: $("#calendar").fullCalendar( 'windowResize' ); 但这似乎不起作用.

关于我在这里可以做什么的任何想法?

谢谢!

jquery autoresize fullcalendar

1
推荐指数
1
解决办法
3766
查看次数

Ruby on Rails - 添加随机形容词+名词

我正在使用Rails 4,前几天我遇到了这个很酷的要点.

无论如何,我如何使用Rails做类似的事情,我可以从两个数组中随机选择以生成一个有点独特的名称?

我知道有宝石(例如,BazaarFaker).但我喜欢使用我自己的简单列表的想法.

任何有关如何开始这方面的帮助都会非常棒.

ruby

1
推荐指数
1
解决办法
374
查看次数

Jquery getJSON返回'undefined'

我正在尝试使用以下命令将简单的getJSON运行到PHP文件:

$.getJSON("loadThumbs.php", { usrID: 25 }, function(data){
  alert(data.filename);
  });
Run Code Online (Sandbox Code Playgroud)

当弹出警报消息时,它会显示"未定义".

这是我的PHP文件(loadThumbs.php):

$usrID = $_GET['usrID'];

$sql = "SELECT id, isDefaultProfile, filename, usrID FROM profile_images WHERE   isDefaultProfile=1 AND usrID='$usrID'";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error()); 

$rows = array();

while($r = mysql_fetch_assoc($result)) {
   $rows[] = $r;
 }
print json_encode($rows);

//Which outputs: [{"id":"5","isDefaultProfile":"1","filename":"26.jpg","usrID":"25"}]
Run Code Online (Sandbox Code Playgroud)

关于我可能做错的任何想法?

php jquery getjson

0
推荐指数
1
解决办法
5024
查看次数

Bootstrap Form - 同一行上的Label和Input Horizo​​ntal

使用引导程序,每次添加"标签"时,它都会创建一个新的垂直线.但是,我想要实现的是在同一行水平放置两个标签.

我曾尝试与"控制组"合作,但未能按照我想要的方式工作.

这基本上是我想要实现的(注意它们都是水平的):

Date                       Start & End Time
 <<input goes here>>       <<start input here>>   <<end input here>>
Run Code Online (Sandbox Code Playgroud)

这是我目前在这个JS Bin上(大致)坚持的链接.

任何帮助将不胜感激!

forms twitter-bootstrap

0
推荐指数
1
解决办法
3604
查看次数