小编RAN*_*GER的帖子

在线程中获取最新消息

我有一个查询,获取消息传递系统的主页所需的所有信息(包括未读消息计数等)...但它当前检索原始线程消息.我想扩充以下查询以获取每个线程中的最新消息.

这个查询非常接近,但是我平庸的SQL技能让我无法完成任务......

$messages = array();
$unread_messages_total = 0;

$messages_query = "
SELECT m.*
    , COUNT(r.id) AS num_replies
    , MAX(r.datetime) AS reply_datetime
    , (m.archived NOT LIKE '%,".$cms_user['id'].",%') AS message_archive
    , (m.viewed LIKE '%,".$cms_user['id'].",%') AS message_viewed 
    , SUM(r.viewed NOT LIKE '%,".$cms_user['id'].",%') AS unread_replies 
    , CASE
        WHEN MAX(r.datetime) >= m.datetime THEN MAX(r.datetime)
        ELSE m.datetime
        END AS last_datetime
FROM directus_messages AS m
LEFT JOIN directus_messages as r ON m.id = r.reply
WHERE m.active = '1'  
AND (m.to LIKE '%,".$cms_user['id'].",%' OR …
Run Code Online (Sandbox Code Playgroud)

php mysql messaging

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

计算Google地图的日/夜叠加层

我正在尝试找到一种方法来为Google Maps API V3创建一个叠加层,以显示世界上阳光照射的区域.这是我要找的基本结果:

http://www.daylightmap.com/index.php

但是想要更好地控制外观(理想情况下只有10%的黑色覆盖,没有城市灯光).我可以在画布元素中绘制形状,但无法弄清楚如何根据地球的倾斜和旋转等计算形状.

任何帮助,将不胜感激.

编辑:Javascript

我仍然不知道在哪里实现y-offset变量.我还需要弄清楚如何调整/拉伸从这个(等距离纬度线)到墨卡托(在极点附近)的y偏移.

// Get the canvas element
var ctx = document.getElementById('canvas').getContext('2d');
ctx.clearRect( 0, 0, 800, 620 );

// Current time
var map_width = $("#canvas").width();
var map_height = $("#canvas").height();
var now = new Date();
var cur_hour = now.getHours();
var cur_min = now.getMinutes();
var cur_sec = now.getSeconds();
var cur_jul = now.julianDate() - 1;
var equinox_jul = new Date(now.getFullYear(),2,20,24,-now.getTimezoneOffset(),0,0).julianDate() - 1;

var offset_x = Math.round(((cur_hour*3600 + cur_min*60 + cur_sec)/86400) * map_width); // Resulting offset X
var …
Run Code Online (Sandbox Code Playgroud)

google-maps

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

MySQL返回静态字符串

我有一个CMS,需要SQL查询来返回下拉列表的选项/值...通常它返回SQL查询中的表中的行并填写下拉选项.有时我只想在下拉列表中有两个静态选项,并且不想创建整个表来管理这两个不变的项目.

我的问题是:是否有一个MySQL查询不会查询表,但只会返回一些静态结果,就像查询表一样?

理想情况下,我想要类似的东西(但静态):

SELECT value FROM `fake_table` 
Run Code Online (Sandbox Code Playgroud)

并返回以下内容:

value
//////////////
Option One
Option Two
Option Three
Etc...
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

php mysql static

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

通过一组N个点绘制曲线,其中N> 2

我需要使用Javascript平滑地绘制N点> N> 2的曲线.我目前在html5 canvas对象中使用bezierCurveTo().我投入了大量的时间来寻找实现这一目标的最佳方法,虽然Catmull-Rom Splines看起来很有前途,但我并不知道将它们画成线条的方法.因此,我留下了Poly-lineBézier曲线,需要找到所有中间控制点.

我花了很多时间重新学习数学,但我在这里有一个部分工作的例子.这条线有时不是特别平滑,并且我的控制点在某些矢量关闭时出现问题.是我最初的math.stackexchange问​​题,我要求获得控制点的大部分数学.

我也会对Catmull-Rom样条线开放,但需要一些帮助才能将它们转换为画布上的线条.我找到了这个资源,但是再次将它应用到我的需求中.

下面是我上面的示例链接创建的图像,说明了如何复制控制点:

在此输入图像描述

非常感谢您提前提供任何帮助!

javascript bezier spline points

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

列出PHP站点上的所有Google Apps配置文件

我正在尝试将域名的所有Google Apps用户列表添加到公共PHP网站上(无需访问该站点的访问者或进行任何操作).我对需要发生什么有一个基本的了解,但不能完全把它拼凑起来.它不会像我看起来那么难......是吗?

身份验证和授权: 我很确定它需要使用OAuth 2.0 ......但我不确定它是需要2条腿还是3条腿.我让网站的另一部分与ClientLogin一起工作,但不会引入Google Apps配置文件,只会提取用户的名字和姓氏(我需要其他个人资料字段).我已经在帐户中设置了API访问权限并将所有内容都设置好(我相信).

我找到了这个页面,它显示了如何构建一个URL请求以获取所有个人资料(当然除了PHP之外的所有语言),但是不了解如何实现它. http://code.google.com/googleapps/domain/profiles/developers_guide.html

我也试过这个例子,但是在我输入凭证后它只给了我一个401.http://gdatatips.blogspot.com/2008/11/2-legged-oauth-in-php.html

我不知道实现这一目标需要哪些框架或包含.我已经尝试过zend,OAuth.php以及其他一些引导程序......但是对于每个人正在做的事情一直迷茫.

如果有人可以通过概述帮助我:

  1. 我需要上传哪些文件/框架并包含在引导程序中
  2. 我需要使用Google凭据更新这些文件中的哪些变量
  3. 我如何将Google个人资料"检索所有个人资料"请求与PHP集成

一个ELI5(解释它就像我5)概述将非常感激......我为我的无能显然对不起,但我一直在阅读文章近一周,并没有得到任何地方.

提前感谢您提供的任何帮助.

php google-apps oauth-2.0 google-profiles-api

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

PHP会话扩展不考虑全局变量

我目前收到错误:

警告:未知:您的脚本可能依赖于PHP 4.2.3之前存在的会话副作用.请注意,除非启用register_globals,否则会话扩展不会将全局变量视为数据源.您可以通过将session.bug_compat_42或session.bug_compat_warn分别设置为off来禁用此功能和此警告,分别在第0行的Unknown中

我相信它与以下代码有关(因为那时我开始注意到它):

session_start();                         // Open sessions
$remember_alert = $_SESSION['alert'];   // Remember session alert
session_unset();                         // Unset all data in session
session_destroy();                     // Kill empty session
session_start();                         // Re-open session
$_SESSION['alert'] = $remember_alert;   // Recall session alert
Run Code Online (Sandbox Code Playgroud)

这是我正在构建的CMS的logoff.php页面上的代码,用于清除除警报变量之外的所有会话信息.任何见解将不胜感激!

php session global-variables

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

使用缓存刷新页面

我正在尝试刷新页面,但是想要使用缓存并且无法弄清楚如何执行此操作.有两种情况:

  • 如果我点击URL栏并点击回车(或从其他地方访问该页面),它会从缓存中重新加载页面/图像.大!

  • 如果我点击刷新按钮或使用Javascript刷新页面,它会再次抓取所有图像并永远占用.不是很好!

我试过:top.location.reload(false);top.location.reload(true);(我从一个iFrame发送此),并没有使用缓存.我正在避免使用location它,因此它不会在浏览器历史记录中结束两次.

问题:如何使用缓存图像重新加载页面?是否有不同的javascript函数或这是mod_expires问题?

在此先感谢您的帮助!

编辑:(来自chrome的信息:开发人员工具)

  • 当导航到页面时,我获得所有图像的"从缓存"
  • 刷新页面时,我会为所有图像获得"304 - Not Modified"(并且需要花时间下载每个图像)

编辑2 :(来自图像的标题,safari:开发人员工具)

Javascript:top.location.reload(false); (没有缓存!)

Status Code:304 Not Modified

Request Headers
Cache-Control:max-age=0
If-Modified-Since:Tue, 28 Jun 2011 07:13:17 GMT
If-None-Match:"104684ae-a7d-66e41d40"
Referer:http://getdirectus.com/dev/media.php
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1

Response Headers
Cache-Control:max-age=157680000
Connection:Keep-Alive
Date:Tue, 28 Jun 2011 16:56:50 GMT
Etag:"104684ae-a7d-66e41d40"
Expires:Sun, 26 Jun 2016 16:56:50 GMT
Keep-Alive:timeout=5, max=94
Server:Apache/2.0.54
Run Code Online (Sandbox Code Playgroud)

导航到页面:(使用缓存)

Status Code:200 OK

Response …
Run Code Online (Sandbox Code Playgroud)

javascript caching refresh

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

使用"已加入"日期时间保存密码

我在其他文章中看到过这些信息,但大多数都是用已知值(如用户名)腌制的.如果数据未在站点中的任何位置公开,那么使用joined日期时间(或日期时间的MD5)来密封密码是一种joined进一步保护凭据的安全方法joined吗?

提前致谢!

php security salt

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

MySQL - 根据大多数事件选择人名

鉴于:

表叫namesid,firstlast领域.

你怎么会被发现发生的前5名最受欢迎的人时,firstlast是分开的领域?这是我现在的非工作代码......

`SELECT *, COUNT(first) AS occurrences FROM `names` GROUP BY first ORDER BY occurrences DESC LIMIT 5`
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

mysql

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