是否可以使用php XMLWriter将新节点插入现有的xml文件,然后保存文件?每次我想要更新xml文件时,实际创建一个新文件对我来说会更有益.
我正在玩一个开源项目,希望我可以为我提交的错误提供修复,这让我疯狂.简短的版本是,如果更改网络服务,应用程序将死亡.在以下情况下会发生(略有不同):
我认为问题可能出在应用程序的isConnected方法中,该方法返回:
return ni != null && ni.isConnected();
Run Code Online (Sandbox Code Playgroud)
我将其更新(在本地SDK中):
return ni != null && ni.isConnectedOrConnecting();
Run Code Online (Sandbox Code Playgroud)
但是,一旦我实际切换到硬件设备而不是虚拟设备,我现在看到错误是SSL连接.我不知道问题是它是否一直在运行所以总是被"中断",或者是否应该有某种尝试/捕获或者如果连接只是需要某种机制来重新连接而不是呕吐并拉动app下来.
希望能够快速解决问题,我一直在寻找如何为连接管理/启用SSL,但却找到了很多令人沮丧的解决方法.
这是SDK日志中的即时错误.
08-06 03:38:48.795:W/InputEventReceiver(16140):尝试完成输入事件但输入事件接收器已经处理完毕.08-06 03:38:57.744:W/System.err(16140):javax.net.ssl.SSLException:读取错误:ssl = 0x4144cb18:系统调用期间的I/O错误,连接超时08-06 03:38 :57.744:W/System.err(16140):at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method)08-06 03:38:57.744:W/System.err(16140):在org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read(OpenSSLSocketImpl.java:651)
我想知道的是,当网络服务切换时,是否存在处理非HTTP SSL/TLS开放连接的规定方法.我想新的握手需要发生,但有没有.isFading()或类似的广播信息优雅地挂起应用程序,直到连接切换或正式消失?
我通过从数据库获取数据并使用模板引擎(小胡子)来动态填充ul,如下所示:
var template = '<ul class="myList"> {{#.}} ' +
'<li class="Foo" ' +
'style="background-color: {{thisItemsColor}};>" ' +
'{{someData}}' +
'</li> ' +
'{{/.}} </ul>';
Run Code Online (Sandbox Code Playgroud)
列表项的颜色存储在DB中.问题是现在我想将hover属性更改为其他颜色.我无法通过css文件执行此操作,因为在标记中我直接在元素上设置该属性,所以我这样做:
.myList .Foo:hover {
background-color:#000033 !important;
}
Run Code Online (Sandbox Code Playgroud)
这是可以接受的还是应该使用js/jquery来应用这个伪选择器?
我需要查询此DB以获取每一行,还要查询结果的一个列值的SUM.我可以使用php来获取总值,但是我需要运行两个循环,一个用于获取总数(在结果之上的顶部).所以我更喜欢查询来捕获它并只是创建一个"总"行,但我唯一能让它工作的方法是使用一个子查询,它实质上是原始查询的重复.有没有更好的办法?
SELECT
CONCAT(u.firstname, ' ', u.lastname ) name, u.id, s.description, s.shiftstart, s.shiftend,
(SELECT
SUM( TIME_TO_SEC( TIMEDIFF( shiftend, shiftstart ) ) ) /3600
FROM shifts
WHERE id = '$user'
AND DATE( shiftstart )
BETWEEN '$start'
AND '$end') total
FROM shifts s
INNER JOIN users u ON ( s.id = u.id )
WHERE s.id = '$user'
AND DATE( shiftstart )
BETWEEN '$start'
AND '$end'
ORDER BY shiftstart
Run Code Online (Sandbox Code Playgroud)
以上工程和产出:
name id description shiftstart shiftend total
Joe User joeuser Stuff 2009-01-05 07:45:00 2009-01-05 12:15:00 …Run Code Online (Sandbox Code Playgroud) 我很抱歉,如果这是非常基本的,但是:
我觉得在某些时候我没有这个问题,现在我是,所以要么我之前做了一些完全不同的事情,要么我的语法跳过了一步.
例如,我有一个查询,我需要返回包含某些数据的所有行以及另一列具有其中一列的总和.如果事情按照我的预期运作,它看起来像:
SELECT
order_id,
cost,
part_id,
SUM(cost) AS total
FROM orders
WHERE order_date BETWEEN xxx AND yyy
Run Code Online (Sandbox Code Playgroud)
而且我会按照我的订单获得所有行,并将总数添加到每个行的末尾.我知道每次总数都是一样的,但这是预期的.现在让我开始工作我正在使用:
SELECT
order_id,
cost,
part_id,
(SELECT SUM(cost)
FROM orders
WHERE order_date BETWEEN xxx AND yyy) AS total
FROM orders
WHERE order_date BETWEEN xxx AND yyy
Run Code Online (Sandbox Code Playgroud)
基本上运行相同的查询两次,一次为总计,一次为其他数据.但是,如果我想要,并且,我不知道平均成本,那么我将做同样的查询3次,这似乎真的错了,这就是为什么我在想我正在做一些非常基本的错误.
任何帮助都非常感谢.
好的,所以如果你想要一个背景故事,请看看我之前的问题
弄清楚哪些记录不重复很容易:
SELECT *
FROM eventlog
GROUP BY event_date, user
HAVING COUNT(*) = 1
ORDER BY event_date, user
Run Code Online (Sandbox Code Playgroud)
这将返回我的所有非重复项.所以我想我会把它们移到另一个名为"no_duplicates"的表中,然后从原始表中删除它们.然后我可以在原始表中单独看到重复项,修复它们,然后添加no_dupes.但同时:
INSERT INTO no_duplicates
SELECT *
FROM eventlog
GROUP BY event_date, user
HAVING COUNT(*) = 1
ORDER BY event_date, user
Run Code Online (Sandbox Code Playgroud)
像魅力一样工作,以下引发错误:
DELETE
FROM eventlog
GROUP BY event_date, user
HAVING COUNT(*) = 1
ORDER BY event_date, user
Run Code Online (Sandbox Code Playgroud)
我的猜测是,当查询返回唯一的,已经在表中的记录时,通过聚合函数删除不是犹太教.这是可以理解的,除了我不知道我还能做些什么来确保只删除我移动的记录.我搜索并发现没有"在INSERT中删除原始表中的记录后"语法,我的猜测是它无论如何都会失败,因为删除失败的原因相同.
那么,有人可以帮我找到丢失的一块吗?
PHP中是否存在一个用于从分隔字符串创建关联数组的函数?如果没有,那么最有效的方法是什么?我正在查看PayPal的新NVP API,其中请求和响应具有以下格式:
method=blah&name=joe&id=joeuser&age=33&stuff=junk
Run Code Online (Sandbox Code Playgroud)
我可以用来explode()将每一对变成一个数组值,但如果我可以做一些类似的函数dictionary_explode并指示键值定界符并返回一个关联数组,那就更好了:
Array {
[method] => blah
[name] => joe
[id] => joeuser
[age] => 33
[stuff] => junk
Run Code Online (Sandbox Code Playgroud)
}
我的CS朋友告诉我,这个想法存在于其他语言中,比如Python,所以我想知道我是不是没有为PHP找到这样的东西.现在我正在看一个array_walk,但我更喜欢更多预先构建的东西.
我不能使用laravel 4创建一个合适的分页系统.我有以下模型和函数返回集合:
型号餐厅:
public function fooditem()
{
return $this->hasMany('Fooditem','rest_id');
}
public function get_rest_foods($id){
return Restaurant::find($id)->fooditem->toArray();
}
Run Code Online (Sandbox Code Playgroud)
第二个函数将某个餐厅的所有食品都作为一个数组返回.我也在API调用中使用它.
在我的控制器中我有这个:
$food = $food->get_rest_foods($id);
$paginator = Paginator::make($food, 10, 5);
Run Code Online (Sandbox Code Playgroud)
我将分页器传递给视图,它显示链接正常,但也显示食物阵列中的所有项目.
我试过用
public function get_rest_foods($id){
return Restaurant::find($id)->fooditem->paginate(5);
}
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
FatalErrorException:错误:调用未定义的方法Illuminate\Database\Eloquent\Collection :: paginate()
我搜索了这个和许多其他网站,但不知道如何分页集合.
谢谢你的帮助
这是一个数学问题,但我确信这必须出现在一些编程场景中,至少我希望如此,我想知道是否有这种情况的名称:
假设我有一个系列中的7个项目.为了这个例子,让我们使用一周中的几天.我希望用户提交他们计划在下一周进入的一周中的哪几天.它们带有一系列标准复选框,每周一个.
我想将它们在一个数据库字段中选择的日期存储为单个整数.
显然,我可以为每天分配一个数字,1 - 7(如果用户未选中所有选项,则保留0).但是如果一个用户选择星期一和星期二(1 + 2)而另一个用户选择星期三(3),那么我会遇到问题.
我还可以给一周中的每一天都有一些奇怪的独特之处,这样任何数字组合都不可能与任何其他组合相同.
我的希望是,不是为第二个场景组成这样一个系列,而是已经存在一些数字属性(可能是系列中每个数字的平方等),这些属性已经得到充分利用和尊重.理想情况下,这对编程来说非常熟悉,导出各个数字只需要很少的通用编程语言开销(在我的例子中是PHP).
我只是梦想这个,还是做这样的事情?
我知道这是基本的布尔逻辑,但我卡住了:
我循环遍历数据库结果,每个我需要检查以下条件:
if($old_value != $new_value)
Run Code Online (Sandbox Code Playgroud)
如果以上情况属实,则操作为:
$old_value = $new_value;
Run Code Online (Sandbox Code Playgroud)
但是存在次要条件.如果行的类型为"date",我还需要检查它$new_value是否为空,但操作仍然相同.现在,我这样做:
if($old_value != $new_value) {
if($type != date) {
$old_value = $new_value;
} elseif(!empty($new_value)) {
$old_value = $new_value;
}
Run Code Online (Sandbox Code Playgroud)
我已经过度简化了上面的内容,但实际上单线动作实际上是几行,我知道我不需要根据次要条件重复这些行.
但我对于将内在条件与外在条件结合起来的正确方法感到茫然.如果我这样做:
if(($old_value != $new_value) && ($type == 'date' && !empty($new_value))
Run Code Online (Sandbox Code Playgroud)
然后它返回true的唯一时间是行的类型为date.
mysql ×3
php ×3
database ×2
android ×1
arrays ×1
boolean ×1
conditional ×1
css ×1
dictionary ×1
duplicates ×1
insert ×1
jquery ×1
laravel ×1
laravel-4 ×1
logic ×1
math ×1
networking ×1
sql ×1
sql-delete ×1
ssl ×1
subquery ×1
sum ×1
unique ×1
xml ×1