小编Jac*_*ack的帖子

将XML数据存储在MySQL数据库中的最佳方法,具有一些特定要求

我从服务中接收XML数据.我收到的测试数据有大约300个XML节点,显然太多,无法在MySQL数据库中创建单独的行.

问题是我们理想情况下需要存储所有数据,我们可能需要在将来的某个时候再次引用数据 - 我们不能只处理一次并删除XML字符串.

将这些数据存储在MySQL数据库中的最佳方法是什么?

我已经预测,在几个月内以预测的速度,如果我们以TEXT格式存储原始XML数据,数据库可能会增长到大约500MB.从长远来看,这感觉不切实际.

xml mysql database data-structures

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

jQuery:检测到滚动底部不起作用,只检测顶部

所以基本上我的问题看似简单.

您可以在http://furnace.howcode.com上看到它的运行情况(请注意,数据是通过Ajax返回的,所以如果没有任何反应,请给它一些时间!).

什么是有意义的,当你到达滚动的底部时,在第二列,返回接下来的5个结果.

但实际发生的是当你点击滚动区域的TOP时它只返回5个结果.试一试:向下滚动,没有任何反应.向上滚动到顶部,返回结果.

出了什么问题?

这是我正在使用的代码:

$('#col2').scroll(function(){
    if ($('#col2').scrollTop() == $('#col2').height() - $('#col2').height()){
       loadMore();
    }
});
Run Code Online (Sandbox Code Playgroud)

loadMore(); 是获取数据并附加数据的函数.

那么这里出了什么问题?谢谢你的帮助!

jquery scroll

10
推荐指数
3
解决办法
4万
查看次数

我特定安装的Safari拒绝打开我的网站

我的Safari副本拒绝打开我的网站example.com.

每次我尝试访问http://example.comSafari(而不是服务器!)都会重定向到我https://example.com,并立即告诉我:

"Safari无法打开页面" https://example.com ",因为Safari无法连接到服务器"example.com".

  • 该站点未启用HTTPS或安装了证书(虽然曾经安装过)
  • 该网站在Chrome中运行良好
  • 该网站在iOS Safari中完美运行
  • 该网站在Safari上可以在另一台计算机上完美运行

似乎我的Safari副本已经"缓存"了HTTPS重定向或其他东西.

这是我尝试过的:

  • 清除Safari缓存
  • 禁用Safari缓存
  • 清除OS X DNS缓存
  • 系统重新启动
  • 故意访问HTTPS版本
  • 故意访问HTTP版本
  • 附加随机查询字符串

但是每当我立刻得到消息时.它出现在几毫秒内让我认为它被缓存在某个地方.

尝试访客帐户时,问题就消失了.但是,我家中和工作中的Mac都受到影响,大概是因为iCloud正在同步某种Safari缓存文件.

这里的这个帖子似乎暗示它与HSTS有关(正如@rluta所想的那样),或者与Strict-Transport-Security设置的标题有关.我已经确认,并且Strict-Transport-Security在访问网页时没有设置标题.

如果可能的话,我真的不想"重置"我的Safari副本,因为我每天都在使用它.有任何想法吗?

dns safari macos https caching

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

亚马逊S3 - x-amz-meta

我正在通过PHP将照片上传到Amazon S3存储桶.到目前为止,一切都很好.

我的问题是关于x-amz-meta.我会使用x-amz-meta键/值对来存储数据,例如上传者的用户ID及其帐户类型(免费,高级等)吗?或者我将其存储为常规元数据,而不是前缀x-amz-meta

目前,照片的示例元数据如下所示:

Key: x-amz-meta-user-id      Value: 1
Key: x-amz-meta-user-type    Value: free
Key: Content-Type            Value: image/jpeg
Run Code Online (Sandbox Code Playgroud)

那有意义吗?希望如此.只是检查我是否以正确的方式存储这些元数据.

谢谢!

插口

php metadata amazon-s3 amazon-web-services

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

CodeIgniter/PHP Active Record不会增加整数

这是我在CodeIgniter的Active Record中的查询:

function calculate_invites($userid)
{
    $this->db->where('id', $userid)
               ->update('users', array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE);
}
Run Code Online (Sandbox Code Playgroud)

字段invitessentinvites都是整数,但在运行函数后设置为0.这让我认为CodeIgniter正在传递invites-1sentinvites+1 作为字符串,但我认为追加FALSE到最后阻止它这样做?

谢谢!

插口

php mysql activerecord codeigniter

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

JavaScript:打印完整的网页时,IE似乎不会在页面上打印iFrame的内容

客户的网站上有产品清单.通过页面底部的iFrame动态提取产品价格.页面上有Javascript,根据iFrame内容的加载大小,自动将此iFrame调整到正确的高度.

客户端报告说,在打印页面时,他们无法从iFrame中看到价格应该是什么 - 显然它不是在IE中打印,只是主页本身.

我在Mac上,所以无法在IE中测试,所以我很难尝试这个.

谁能澄清这种情况下的预期行为?是否有可能让IE打印两个页面默认包含iFrames,如果是这样,我将如何进行此操作?我只能找到从父窗口打印特定帧的示例.

谢谢!

javascript printing iframe internet-explorer

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

PHP/CodeIgniter - 在__construct()中设置变量,但不能从其他函数访问它们

我很高兴有一个变量范围问题.也许我只需要更多咖啡......

这是我的(简化)代码 - 这是在CodeIgniter 2中:

class Agent extends CI_Controller {     

public function __construct()
{
    parent::__construct();

    $this->load->model('agent_model');

    // Get preliminary data that will be often-used in Agent functions
    $user   = $this->my_auth_library->get_user();
    $agent  = $this->agent_model->get_agent($user->id);
}

public function index()
{       
    $this->template->set('info', $this->agent_model->get_info($agent->id));

    $this->template->build('agent/welcome');
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行索引函数时,我被告知:

A PHP Error was encountered

Severity: Notice
Message: Undefined variable: agent
Filename: controllers/agent.php
Line Number: 51
Run Code Online (Sandbox Code Playgroud)

第51行是索引函数的第一行.出了什么问题?这是范围问题还是其他问题?

谢谢!

php variables scope codeigniter

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

CSS - 将一个图像叠加在另一个图像之上

我不能用文字来形容这个,所以我会给你看图片.

以下是我的设计师打算在我们网站的侧边栏中查看Gravatar图像的方式:

设计师如何想要它http://i41.tinypic.com/rjnn6v.png

这是我制作的叠加图像(从Photoshop截取):

我的叠加图片http://i43.tinypic.com/s1sz2e.png

这是它现在的样子......

不太理想http://i42.tinypic.com/21j13s3.png

不太理想,我想你会同意的.这是我正在使用的CSS代码:

.gravatarsidebar {
    float:left; 
    padding:0px;
    width:70px;
}

.gravataroverlay {
 width:68px;
 height:68px;
 background-image: url('http://localhost:8888/images/gravataroverlay.png');
}
Run Code Online (Sandbox Code Playgroud)

这里是XHTML(和一些PHP来根据用户的电子邮件地址获取Gravatar,这是从我们的数据库中获取的):

<div class="gravataroverlay"></div>

        <div class="gravatarsidebar">
            <?php $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($email) . '?s=68';
            echo '<img src="' . $gravatar_link . '" alt="Gravatar" />'; ?>  
        </div>
Run Code Online (Sandbox Code Playgroud)

那我该怎么办?我无法使用相对定位,因为它使下面div中的"搜索"一词保持向右移动.

谢谢你的帮助!

插口

css xhtml

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

html_entity_decode()无法正常工作?

编辑:我在发布问题后几秒钟解决了(抱歉!)但是还不能接受答案.

嗨伙计,

只是一个快速的.我有一个PHP/CodeIgniter站点,用户可以编辑他们的个人资料.我正在使用CI的XSS过滤和基于活动记录的模型,因此数据会自动转义.

它在配置文件页面视图中自然显示正常,文本如"我们将看看它是否有效"(我们将撇号).但是,当用户转到"编辑"页面时,输入框(填充数据库中的数据)显示:

We&#39;ll see if this works
Run Code Online (Sandbox Code Playgroud)

我以为我可以通过设置输入框的值来绕过它,html_entity_decode($query->row('example_database_row'))但它仍然不起作用.我在这里误解了什么吗?

谢谢!

插口

php codeigniter html-entities

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

我这样做是错误的,或者在使用数组作为字段名称时CodeIgniter表单验证库中是否存在错误?

这是我的控制器代码来配置规则:

// Previous address(es)         
$this->form_validation->set_rules('prev_house_number[]',    'House Number',     'trim|alpha_numeric');
$this->form_validation->set_rules('prev_abode[]',           'Abode',            'trim');
$this->form_validation->set_rules('prev_house_name[]',      'House Name',       'trim');
$this->form_validation->set_rules('prev_address_line_1[]',  'Address Line 1',   'required|trim');
$this->form_validation->set_rules('prev_address_line_2[]',  'Address Line 2',   'trim');
$this->form_validation->set_rules('prev_city[]',            'Town/City',        'required|trim');
$this->form_validation->set_rules('prev_county[]',          'County',           'trim');
$this->form_validation->set_rules('prev_postcode[]',        'Postcode',         'required|max_length[9]|trim');
$this->form_validation->set_rules('prev_country[]',         'Country',          'trim');
$this->form_validation->set_rules('prev_months[]',          'Previous Months',  'trim|integer');
$this->form_validation->set_rules('prev_years[]',           'Previous Years',   'trim|integer');
Run Code Online (Sandbox Code Playgroud)

用户最多可以输入5个以前的地址,如下所示:

表格验证

地址行1字段后面的代码如下所示:

<div class="input w100 f-left c-none">
    <input type="text" class="address_line_1 postcode_prev_address_1" id="prev_address_line_1[]" name="prev_address_line_1[]" value="<?php echo set_value('prev_address_line_1[]');?>"/>
    <label for="prev_address_line_1[]">Address Line 1 <span class="required">*</span></label>
</div>
Run Code Online (Sandbox Code Playgroud)

问题在于:假设我输入了5个地址,并且表单上的验证失败,所有五个输入区域将按预期正确地重新填充.但是,CodeIgniter的验证不适用于阵列输入.

这是验证后的直接截图:

表单验证失败

正如您所看到的,尽管它使用正确的值重新填充表单,但它不会对它们应用验证规则,并且似乎无法从控制器中识别它们的存在.

我能做什么?

谢谢!

插口

html php forms validation codeigniter

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