我有一个innoDB表记录在线用户.它会在用户每次刷新页面时更新,以跟踪他们所在的页面以及他们上次访问网站的日期.然后,我有一个每15分钟运行一次以删除旧记录的cron.
我得到了一个'试图锁定时发现的死锁; 尝试重新启动事务'昨晚约5分钟,似乎是在运行INSERT到此表时.有人可以建议如何避免这个错误?
===编辑===
以下是正在运行的查询:
首次访问网站:
INSERT INTO onlineusers SET
ip = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
Run Code Online (Sandbox Code Playgroud)
在每个页面刷新:
UPDATE onlineusers SET
ips = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
WHERE id = 888
Run Code Online (Sandbox Code Playgroud)
Cron每15分钟一次:
DELETE FROM onlineusers WHERE datetime <= now() - INTERVAL 900 SECOND
Run Code Online (Sandbox Code Playgroud)
然后它会记录一些统计数据(即:在线成员,在线访客).
简单的问题,我有一个我正在抓住的元素.getElementById ().如何检查是否有孩子?
我需要使用childappend或jquery append()将一些标记内容附加到文档中.据我所知,这已被剥夺.谁知道怎么做?
我正在开始一个大型的codeigniter项目,并希望尝试为内容片段创建一些可重复使用的"迷你"视图,例如可以在不同页面/控制器上显示的数据循环.
从主控制器的视图中调用视图会更好吗?如果是这样,怎么样?或者我应该从控制器调用"迷你视图",从而将视图的代码传递给主视图?
我想将3.50存储到mysql表中.我有一个存储它的浮动,但它存储为3.5,而不是3.50.如何才能得到尾随零?
我已经设置了xdebug和webgrind,并且我已经生成了一个配置文件,因此我可以开始提高代码执行的速度.我已经在webgrind中显示了个人资料,但我还没有弄清楚它是什么意思.我所做的所有谷歌搜索都没有真正解释任何一个.
有人可以解释一下阅读webgrind报告的基础知识:
调用计数
总自我成本
总包含成本
不同的颜色意味着什么
彩色条意味着什么
呼叫
总呼叫成本
计数
我需要检查远程服务器上是否存在特定文件.使用is_file()和file_exists()不起作用.任何想法如何快速,轻松地做到这一点?
我有<select>一些<option>s.每个都有一个独特的价值.我需要禁用<option>具有给定定义值(不是innerhtml)的a.
任何人都知道如何?
我有一个jQuery对话框,意思是位于屏幕中间.但是,它似乎略微偏离垂直中心.
这是代码:
$('#add_box').dialog({
autoOpen: true,
width: 300,
modal: true,
resizable: false,
bgiframe:true
});
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不会中心?
我正在使用谷歌地图V3,我想:
将地图的中心设置为特定的latlng.我在用:
map.setCenter(new google.maps.LatLng(mylat,mylong));
Run Code Online (Sandbox Code Playgroud)在该中心点设置一个点.我目前正在使用:
var point = new google.maps.LatLng(mylat,mylong);
marker = map_create_marker(point,"My Popup",map_icon_red);
Run Code Online (Sandbox Code Playgroud)
有了这个功能:
function map_create_marker(point,html,icon) {
var marker = new google.maps.Marker({
position: point,
map: map,
icon: icon,
shadow: map_icon_shadow
});
if(html!="") {
var infowindow = new google.maps.InfoWindow({
content: html
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
return marker;
}
Run Code Online (Sandbox Code Playgroud)使用上述相同的方法定位更多标记
问题是,当我像上面那样设置中心时,它只会显示第一个标记.但如果我没有设置中心,它会显示所有标记.我怎样才能让他们同时工作?
这是完整的JavaScript代码:
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" language="JavaScript">
var map;
var map_icon_green = new google.maps.MarkerImage(
"http://mysite.com/green_pointer.png",
new google.maps.Size(12,20),
new google.maps.Point(0,0));
var map_icon_blue = new google.maps.MarkerImage(
"http://mysite.com/blue_pointer.png",
new …Run Code Online (Sandbox Code Playgroud) javascript ×4
php ×3
jquery ×2
mysql ×2
append ×1
appendchild ×1
codeigniter ×1
curl ×1
currency ×1
deadlock ×1
dialog ×1
dom ×1
file ×1
file-exists ×1
fixed-point ×1
fsockopen ×1
google-maps ×1
html ×1
jquery-ui ×1
position ×1
profiling ×1
select ×1
templates ×1
xdebug ×1