每当有人第一次访问该网站时,我都会在mysql表中存储一个时间戳.
我最终看到这样的数据:
2009-08-02 04:08:27
2009-08-02 04:07:47
2009-08-02 05:58:13
2009-08-02 06:28:23
2009-08-02 06:34:22
2009-08-02 08:23:21
2009-08-02 09:38:56
Run Code Online (Sandbox Code Playgroud)
我想要对这些数据做什么是创建每小时的访问次数.所以在上面的例子中,我将在第4小时到达2次访问,第5小时= 1小时,第6小时2小时,第8小时1等.
我认为最好的方法就是这样做一个for语句:
// a 24 hour loop
for($i = 24; $i > -1; $i--) {
// the query for each hour
$sql = 'SELECT * FROM visits WHERE (DATE(added) = DATE_SUB(CURRENT_DATE(), INTERVAL ' . $i . ' HOUR))'
$res = mysql_query($sql);
$count = mysql_num_rows($res);
// store the number of rows for this loop in the array
$visits[] = $count;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎合乎逻辑......但出于某种原因......它肯定不起作用.
你会怎么做?
我基本上将一些数据存储在某些div的title属性中,我可能不应该这样做.无论如何我现在已经完成了它,当我将鼠标悬停在这些元素上时,这些信息会在浏览器中弹出一个方便的默认工具提示.
例如
<div title="blah blah blah">something</div>
Run Code Online (Sandbox Code Playgroud)
是否有一种方法可以阻止此工具提示标题功能正常工作?
我已经制作了一个小脚本来将标题转换为友好的url.
即:
'I am a title'
Run Code Online (Sandbox Code Playgroud)
变
'I_am_a_title'
Run Code Online (Sandbox Code Playgroud)
我的脚本基本上通过并将空格,撇号,逗号等等转换为下划线.
问题是,有时我的网址最终会像这样:
'i_am_a_title_'
Run Code Online (Sandbox Code Playgroud)
带尾随下划线......
所以我想,添加一点点来查看最后一个字符是否是最终结果的下划线,如果是,则交换它.
我查看了strrchr()函数,但我似乎遇到了自己理解的墙.
这种事情是如何完成的?
我通常可以做到这一点,但看起来我的大脑现在运作不好而且我错过了一些东西.
每天通过凌晨1点运行的cron作业,我想获得昨天插入的行数和日期.
即
SELECT DATE(added) as date, COUNT(*) FROM bookings WHERE added = DATE_SUB(NOW(), INTERVAL 1 DAY) GROUP BY date
Run Code Online (Sandbox Code Playgroud)
'添加'包含时间戳,即'2011-04-18 12:31:31'
我在这里弄错了什么?我知道昨天添加了很多行,但我的查询返回0结果,没有mysql_errors :(
有任何想法吗?
只是我有一堆像这样的链接
<div id="categoryLinks">
<a href="blah.php?something=this&category=21"></a>
<a href="blah.php?something=that&category=21"></a>
<a href="blah.php?something=then&category=21"></a>
</div>
Run Code Online (Sandbox Code Playgroud)
然而,我希望能够做的是浏览所有这些链接并删除结尾位“&category=21”(如果我选择的话),这样它们都会看起来像:
<div id="categoryLinks">
<a href="blah.php?something=this"></a>
<a href="blah.php?something=that"></a>
<a href="blah.php?something=then"></a>
</div>
Run Code Online (Sandbox Code Playgroud)
所以我正在研究看起来像这样的函数:
function removeCategory(){
$('#categoryLinks a').each(function(){
// as you can see, i don't know what goes in here!
});
}
Run Code Online (Sandbox Code Playgroud)
我知道如何做相反的事情,即在 href 中附加一个类别,但就将其删除而言,我画了一个空白。
我该怎么做呢?
我想在这里做一些相对简单的事情.基本上我有一个表,其中有一堆行标有时间戳(格式:2009-05-30 00:14:57).
我想要的是一个查询,它会拉出所有行,然后按月拆分它们,所以我留下了最终结果,如:
2月
rowID名称订单日期
rowID名称订单日期
rowID名称订单日期
1月份
rowID名称订单日期
rowID名称订单日期
rowID名称订单日期
等等
我有一些模糊的想法如何做到这一点 - 他们似乎只是啰嗦.
其中一种方法是每个月进行一次查询.我将得出当前月份在PHP中的内容然后构造一个for(),它可以追溯到几个月.
喜欢:
$currentmonth = 8;
$last6months = $currentmonth - 6;
for($i = $currentmonth; $i == $last6months; $i--) {
$sql = 'SELECT * FROM reports WHERE MONTH(reports.when) = $currentmonth ';
$res = mysql_query($sql);
// something would go here to convert the month numeral into a month name $currentmonthname
echo $currentmonthname;
while($row = mysql_fetch_array($res)) {
// print out the rows for this month here
}
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
如何正确编写内爆和mysql_real_escape_string的MySQL查询的代码?
这是我的代码,但它失败了:
$sql = "INSERT INTO BEER_LOCATIONS
(LOCATION_NAME, LOCATION_STREET, LOCATION_CITY, LOCATION_STATE,
LOCATION_ZIPCODE, LOCATION_PHONE, BEER_STYLE )
VALUES
('" . mysql_real_escape_string(implode("', '", $row)) . "')";
Run Code Online (Sandbox Code Playgroud)
谢谢
标题可能很差,但我想不出如何解释这一点.
我有一个有效的ajax:
var inputName = $('#input').prop('name');
$.ajax({
url: 'file.php?'+inputName+'=0&uID='+uid+'',
type: 'POST'
});
Run Code Online (Sandbox Code Playgroud)
如您所见,变量名称已更改并先前已设置.
我最终得到的帖子是:
file.php?someName=0&uID=291
Run Code Online (Sandbox Code Playgroud)
但我更喜欢以下类型的格式,对我来说它更具可读性和更少的代码:
$.ajax({
url: 'file.php',
type: 'POST',
data: { '+inputName+': 0, uID: '+uid+' },
});
Run Code Online (Sandbox Code Playgroud)
但问题是,我最终得到了一个请求网址:
file.php?'+inputName+'=0&uID=291
Run Code Online (Sandbox Code Playgroud)
或者如果我输入数据:{inputName:0}等,那么'inputName'就是变量名.
是否可以使用变量作为键来实现我想要做的事情?如果是这样的话?或者我应该坚持使用longwinded?和's?
我有一个默认选中="已选中"的复选框.
如果我取消选中该复选框,然后执行类似的操作
alert($('#checkbox').attr('checked'));
Run Code Online (Sandbox Code Playgroud)
无论是否检查,它都会始终发出警报checked.
如何获取复选框的实际检查状态(而不是默认代码中写入的内容)?
我试图连接 2 列,然后计算行数,即合并列字符串存在的总次数,但我不知道是否可能。例如:
SELECT
CONCAT(column_1,':',column_2 ) as merged_columns,
COUNT(merged_columns)
FROM
table
GROUP BY 1
ORDER BY merged_columns DESC
Run Code Online (Sandbox Code Playgroud)
注意:我作为字符串的一部分插入的冒号,所以我的结果类似于 12:3。然后,“计数”应该告诉我 column_1 = 12 和 column_2 = 3 处存在的行数。
显然,它告诉我 'merged_columns' 不是列,因为它只是我的 CONCAT 的别名。但这是可能的,如果是,如何?