如果我想使用MySQL查询检查字段是NULL还是空,我知道我可以这样做:
column = '' OR column IS NULL
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法检查这个而不进行两次单独的比较?
基本上我想知道是否有办法缩短这样的东西:
if ($variable == "one" || $variable == "two" || $variable == "three")
Run Code Online (Sandbox Code Playgroud)
以这种方式,可以对变量进行测试,或者与多个值进行比较,而不必每次都重复变量和运算符.
例如,某些内容可能会有所帮助:
if ($variable == "one" or "two" or "three")
Run Code Online (Sandbox Code Playgroud)
或任何导致打字减少的事情.
在我看来,这似乎是一个非常业余的问题,但尽管如此,它仍然是一个令人沮丧的异常现象.
这实际上是2部分问题的第2部分.第一部分是一个相当常见的部分,涉及使元素伸展到其父对象的100%高度.在我的演示中,我有以下HTML:
<body>
<div id="sbcontainer">
DIV 1
<div id="sbcontent">
DIV 2
<table id="sbmaintable" cellspacing="0">
<tr>
<td>
TABLE
</td>
</tr>
</table> <!-- END MAINTABLE -->
</div> <!-- END CONTENT -->
</div> <!-- END CONTAINER -->
</body>
Run Code Online (Sandbox Code Playgroud)
我希望这里的每个元素都填充其父元素中的所有垂直空间.我尝试在每个元素上使用以下样式(请注意,在我的演示中BODY和HTML也设置为100%高度):
min-height: 100%;
height: auto !important;
height: 100%;
Run Code Online (Sandbox Code Playgroud)
结果如下:

如您所见,最外面的DIV遵循100%高度属性,但其余的没有.正如图像注释中暗示的那样,但实际上没有在此图像中显示,我尝试将第二个DIV(红色边框)设置为400px的静态高度,以查看其中的TABLE是否会拉伸到100%高度,但它仍然没有.
然后我发现,如果我height:auto;从每个元素中删除它们,它们将遵循100%高度属性,但会产生不必要的副作用:

正如您在图像中看到的那样,每个元素现在真正是其父元素高度的100%,迫使底部延伸到其父元素的边界之外.(即使在我的第一个例子中,带有绿色边框的最外面的DIV比期望的更远,因为页面上方有另一个兄弟DIV).注意:仔细观察后,我可以看到蓝色TABLE元素实际上与其红色DIV父元素的高度不同,但它仍然超出了它的边界.我不确定这是否意味着什么,但我确实注意到了.
有人会认为这很容易解决,但尽管我努力,但我没有成功.
如果我只保留height:auto;并删除100%属性,则根本不会拉伸它们.
我通过Google和StackOverflow搜索了这方面的解决方案,虽然许多网站覆盖了100%的高度问题,但我仍然没有找到实际的解决方案.
我目前正在Firefox中测试它.
我将在这里假设答案是'不',但由于我实际上没有找到答案,我问.
基本上,我想要做的就是在我的文件中留下一些HTML评论"仅限作者眼睛",只是为了让以后编辑文件更加愉快.
<!-- Doing it like this --> 留下很好的干净注释,但它们在输出后查看页面源时出现.
我正在使用PHP,所以在技术上我可能<?PHP /* wrap comments in PHP tags */ ?>会阻止它们输出,但如果可能的话,我想避免在整个文件中注释所需的所有额外的任意PHP标记.毕竟,评论的目的是使文档更简洁,更有条理.
还有什么我可以尝试或者这些是我最好的选择吗?
我正在寻找一种方法,在一个查询中将数据插入到两个数据库表中,如果一个失败,既不保存(我不想要孤立的数据).我遇到了一个Stack Overflow问题,它向我展示了如何使用BEGIN ... COMMIT来实现这一目标,但它根本无法正常工作.
这是我设置的查询:
$query = "BEGIN;
INSERT INTO content_subpages (title, url_referer) VALUES ('$pagetitle','$url_referer');
INSERT INTO ccm_main_menu (sub_item, sub_item_link,sub_item_sort_order) VALUES ('$pagetitle','$url_referer','$newsort');
COMMIT;";
mysql_query($query) or die (mysql_error());
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO content_subpages (title, url_referer) VALUES ('TESTING','testing'); ' at line 2
这是我第一次使用BEGIN ... COMMIT,所以我可能做错了是合理的,但是我遵循了我提到的Stack Overflow问题的选定答案给出的SQL Fiddle示例的语法(http:// stackoverflow.com/questions/12649706/mysql-insert-into-multiple-tables-in-same-query-with-begincommit),但它仍然无法正常工作.
如果我可以在没有BEGIN ... COMMIT的情况下轻松实现"全有或全无"的多个INSERT结果,那将是一个可接受的解决方案.
提前致谢
作为参考,这里有一个关于我最近问过的与这个问题相关的问题: 如何建立友谊关系
在这个问题上,我们想出了一种只有在朋友发布时才显示新闻Feed项目的方法.但是,我需要的是如何以更动态的方式检查友谊的建议,以便可以在多个站点功能中使用它.
例如,我刚刚安装了一个评论系统,允许用户在新闻帖子上发表评论.但是,这不仅限于朋友,而且应该是(以后应该由帖子的作者选择).
仅由朋友发布新闻项目略有不同,因为我直接从数据库获取数据,并使用SELECT子查询仅获取当前用户的朋友的帖子.但是,在评论的示例中,如果此人是朋友,我只想显示评论发布表单.我实际上并没有从数据库中提取任何内容来进行选择,排序和显示.
知道这样的问题会在整个网站上多次出现,检查友谊的最简单方法是什么? 我可以以某种方式将所有朋友的用户ID从数据库中拉到某种会话数组中,然后 if(in_array($friends)) 每当我需要确定相关人员是否是当前登录用户的朋友时,我都会这样做吗? 在我的头顶,听起来它会工作正常,但我想先你的输入.
我上面链接的问题解释了我的友谊表是如何工作的,以防你帮我解决这个问题.
我正在尝试为YouTube编写用户脚本,该用户脚本将根据其标题选择页面上的所有视频,这些视频也会设置为缩略图图像的title属性.
以下工作正常,但它区分大小写:
var videoTitle = "the";
$('img[title*="'+videoTitle+'"]').each(function() {
// stuff here
});
Run Code Online (Sandbox Code Playgroud)
上面的选择器将匹配标题中带有"the"的任何视频,但不匹配"The"或"THE".
我确实读过我可以用来.filter()以某种方式完成这个,但我不确定它是如何工作的,我找不到一个能够成功适应我的场景的例子.
我尝试了类似这样的东西,基于我在StackOverflow上找到的一个例子,但它不起作用:
$('img[title]').filter(function(){return this.title.toLowerCase() == videoTitle}).each(function() {
// stuff here
});
Run Code Online (Sandbox Code Playgroud) 我希望这很容易弄清楚,但显然我需要帮助.我在网上找不到答案,所以我在这里问.也许我只是没有使用正确的搜索词.
我有一个包含1100条现有记录的数据库表.有3个字段:id,code_name,code_date.code_date是Ymd格式的日期,用于指示关联代码处于活动状态的日期.
我想要做的就是从今天的日期开始每个连续日期自动填充每个记录.那么,第一排将是2013-06-14,下一排将是2013-06-15,依此类推.
我觉得这应该是非常简单但显然我今天是个白痴.帮助将不胜感激!
如果我需要运行任何循环或任何东西,我可以使用PHP来帮助解决这个问题.
php ×5
mysql ×4
comparison ×2
html ×2
arrays ×1
attributes ×1
commenting ×1
comments ×1
css ×1
date ×1
height ×1
insert ×1
jquery ×1
null ×1
selector ×1
shorthand ×1
transactions ×1
variables ×1