我有两张桌子:宝石和宝石都留下了.我试图将LEFT JOIN限制为gems表中的10条记录.还有另外两个表加入(gemreply和用户),但它们没有解决问题.以下不起作用:
SELECT gems.gemid, gems.title, r.tot, gemdetail.filename FROM ((gems
LEFT JOIN (SELECT gemid, COUNT(*) AS tot FROM gemreply GROUP BY gemid) AS r ON gems.gemid = r.gemid)
LEFT JOIN gemdetail ON gems.gemid = gemdetail.gemid)
LEFT JOIN users ON gems.userid = users.userid
WHERE gems.grade = '7' ORDER BY gems.gemid LIMIT 0, 10;
Run Code Online (Sandbox Code Playgroud)
这将返回行的总数限制为10,但由于每个gem有多个详细记录,因此我留下的宝石记录少于10个.我已阅读每篇"LIMIT"帖子,但未发现这种情况.
更新1:好的 - 感谢jviladrich - 它奏效了.这是代码:
SELECT gems.gemid, gems.title, r.tot, gemdetail.filename
FROM ((gems
INNER JOIN (SELECT gems.gemid from gems WHERE gems.grade = '7' ORDER BY gems.gemid LIMIT 0, 10) …Run Code Online (Sandbox Code Playgroud) 我正在尝试远程调试Opera for Android.我已经安装了Android SDK,在手机上检查了远程调试,在我的电脑上安装了Chrome,Android 4.3,并且已经成功地能够在Chrome和Firefox中进行远程调试.我按照Android远程调试Opera的说明进行操作,它说:
将桌面连接到设备
启动Opera for Android,并通过在地址栏中输入opera:debug并选中结果页面中的"启用"复选框来启用调试,如下所示.
当我输入地址时,我没有得到结果复选框,但只有消息"此网页不可用Chrome页面上的网页://调试/可能暂时关闭......等..."地址栏显示: opera://debug/
我有最新版本的Opera(35).有任何想法吗?
我刚刚开始升级我的代码以兼容 php 8.1。我有很多代码片段,其中我将潜在的空值传递给内部函数。
if (strlen($row) > 0) {
...
}
Run Code Online (Sandbox Code Playgroud)
其中 $row 来自可能具有空值的源(例如查询)。这可能会生成弃用警告;在这种情况下:
已弃用:strlen():已弃用将 null 传递给字符串类型的参数 #1 ($string)
我正在寻找最简单、最省时的方法来处理升级此代码,例如修复可以进行全局搜索和替换的位置。似乎对我传递给内部函数的变量进行类型转换可以在不改变功能的情况下工作。
error_reporting(E_ALL);
$row = null;
if (strlen((string) $row) > 0) {
...
}
Run Code Online (Sandbox Code Playgroud)
除了以这种方式编码的道德方面之外,这种内部功能方法是否存在问题?有没有更好的方法(除了完全重写代码并以不同的方式处理空值之外)?我更喜欢这个向后兼容 v7.4 的解决方案,尽管我可能会兼容 8.0。
我知道我的用户定义函数还有其他选择。
我允许我的用户打印,但输出太大(我必须在打印对话框中手动调整到大约60%).我使用css媒体查询(下面)来控制内容,并尝试更改字体大小html, body{}而不更改输出字体大小.正确打印到Adobe PDF
我有什么想法我做错了吗?
我的打印链接:
<a href="#" onclick="window.print(); return false;"></a>
Run Code Online (Sandbox Code Playgroud)
我的css:
@media print {
body * {
visibility: hidden;
}
.printme, .printme * {
visibility: visible;
}
.printme {
position: absolute;
left: 0;
top: 0;
}
.printme, .printme:last-child {
page-break-after: avoid;
}
.display-none-on, .display-none-on * {
display: none !important;
}
html, body {
height: auto;
font-size: 12pt; /* changing to 10pt has no impact */
}
}
Run Code Online (Sandbox Code Playgroud) 我在phpMyAdmin v4.3.2中显示所有行(825),用于按默认自动增量主键排序的mysql innodb表.当按升序排序时,我转到最后一页,但它在id = 1150时停止,此时它应该是id = 1337.最后200个左右的记录不显示.按降序排序时,记录正确地从最后一条记录开始.
奇怪的是,增加每页的行数会产生更多的缺失行,如果我将它设置为每页250行,它们将全部存在.
任何想法为什么结果集被截断?似乎phpMyAdmin错误计算了页数.
更新 我升级到最新版本4.5.0.2并且问题仍然存在.
UPDATE2
输入表时执行的查询SELECT * FROM gems
结果:显示行0 - 24(总计825,查询耗时0.0000秒.)
当我进行查询时select count(*) from gems,结果返回997.所以问题显然在于phpMyAdmin认为存在的估计记录数.
我正在使用PayPal和NVP API(使用PHP)进行快速结账.我在将用户重定向到Paypal之前在数据库中创建发票记录.如果用户在处理后没有返回我的网站,我使用IPN确认购买,然后更新确认付款的发票记录.我仍然处于沙盒模式,并试图弄清楚如何将从NVP开始的事务与我通过IPN获得的确认联系起来.
我需要验证NVP中发送的"PAYMENTREQUEST_n_INVNUM"是否会在IPN帖子中作为"发票"返回.
看来我实际上无法测试这个,直到我上线,因为Sandbox IPN似乎没有激活NVP启动的沙箱交易 - 这是正确的吗?
谢谢你的帮助.
我有一个字段"descr"varchar(15000),它会定期保存每行1000到5000个字符的文本,在每个查询中都会返回,并且会经常用LIKE%search%搜索(数据库是mysql 5.5和全文索引)不可用).输入的文本是研究数据,因此不是必需的 - 但是可搜索的是.
该表是innodb,采用utf-8编码.行数不大(30,000).varchar上的最大索引大小为(255),但是当我对列进行搜索时,它会正确返回一个输入3000个字符的行.
我已经阅读了很多关于索引的内容,最相关的是MySQL:Large VARCHAR vs. TEXT?:
我需要帮助理解:
1. What is the performance impact on retrieval (with 30,000 rows)
going to a text field and
2. Is a varchar index workable for
searching through 3000-5000 character fields? How is the search able
to find strings with data longer than the 255 varchar index anyway?
Or would you advise going with mediumtext?
Run Code Online (Sandbox Code Playgroud)
感谢您的输入.
我正在尝试安装perl模块Date :: Calc版本6.它是gnuCalc的一部分,并且在安装时失败了.我选择手动下载Date :: Calc并安装它,但它给出了完全相同的错误,如下所示.由于Date :: Calc不仅限于gnuCalc,我希望有人能指出我解决这个问题的方向.
我在Windows 7 64bit上.Perl是草莓Perl ver 5.18.2002
提前致谢.
E:\Downloads\Date-Calc-6.3>perl Makefile.PL
*************************************************************
****** BEWARE: Use "make install UNINST=1" to install! ******
*************************************************************
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Date::Calc
Writing MYMETA.yml and MYMETA.json
E:\Downloads\Date-Calc-6.3>C:\strawberry\c\bin\dmake.exe
cp lib/Date/Calc/Object.pod blib\lib\Date\Calc\Object.pod
cp lib/Date/Calc.pm blib\lib\Date\Calc.pm
cp lib/Date/Calendar/Profiles.pod blib\lib\Date\Calendar\Profiles.pod
cp lib/Date/Calendar.pm blib\lib\Date\Calendar.pm
cp lib/Date/Calendar.pod blib\lib\Date\Calendar.pod
cp lib/Date/Calc/Object.pm blib\lib\Date\Calc\Object.pm
cp lib/Date/Calc/PP.pm blib\lib\Date\Calc\PP.pm
cp lib/Date/Calendar/Profiles.pm blib\lib\Date\Calendar\Profiles.pm
cp lib/Date/Calc/PP.pod blib\lib\Date\Calc\PP.pod
cp lib/Date/Calendar/Year.pod blib\lib\Date\Calendar\Year.pod
cp lib/Date/Calendar/Year.pm blib\lib\Date\Calendar\Year.pm …Run Code Online (Sandbox Code Playgroud) 这是一个简单的replace()问题 - 我无法让它在下面的函数中替换子字符串.
function linkOnClick(){
var anyNameYouLike = 'some sort of text/string right here';
anyNameYouLike.replace('right','in');
alert(anyNameYouLike)
}
Run Code Online (Sandbox Code Playgroud)
它应该返回"这里的某种文本/字符串",但不是.我究竟做错了什么?我对Javascript很新(如果不明显......)
我试图修改PHP_JPEG_Metadata_Toolkit中的代码,以便我可以使用PHP正确读取和写入jpeg文件的XMP数据.目前,由于XMP块,jpeg文件(由Toolkit保存时)会给Adobe Photoshop和Bridge带来错误.
我有两种方法可以看到Photoshop使用的XMP RDF架构.第一个是Photoshop实际上在jpg中保存的内容以及我要导入的内容.Photoshop对所有内容使用单个rdf:Description块.它会在块本身内抛出许多模式标识符(url)PLUS会为许多元数据字段添加值.接下来是Dublin Core,Photoshop,Iptc4xmpCore等的标记块,但所有标记块都集中在一个Description标记中.
第二个是在Photoshop"文件信息"中显示的整齐格式化的元数据,它遵循RDF 的XMP文档(其中指出"按照惯例,来自给定模式的所有属性,只有该模式,列在单个rdf:Description元素中".)
通过按照Photoshop实际发送的示例(一个rdf下的所有内容:描述),我已经能够通过Toolkit编辑错误来解决问题.
两个问题:任何想法为什么Photoshop保存XMP元数据不同于它在程序中显示的内容?并且......为什么我应该花时间将输出格式化为RDF规范,当它在一个rdf中很好地混合在一起时:描述?我是新手,所有这些,所以任何指导将不胜感激.
这些示例已经过编辑,因此您可以更轻松地查看格式差异 - 请原谅两者之间因编辑而导致的内容差异.
这是我实际从Photoshop(编辑)收到的内容:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmpMM:DocumentID="xmp.did:8808E8B6139411E3A70AB29CEEC8FF6C"
xmpMM:InstanceID="xmp.iid:0071BBEF4517E311BCBCC2DF868D188C"
xmpMM:OriginalDocumentID=""
xmp:CreatorTool="(PHP JPEG Metadata Toolkit v1.12)"
xmp:MetadataDate="2013-09-06T15:44:49-07:00"
xmp:ModifyDate="2013-09-06T15:44:49-07:00"
xmp:CreateDate="2013-09-06T15:22:46-07:00"
xmpRights:Marked="True"
xmpRights:WebStatement="MY WEB ADDRESS"
Iptc4xmpCore:IntellectualGenre=""
photoshop:Instructions="OOOInstructions"
photoshop:Headline="OOOHeadline"
photoshop:CaptionWriter="MY NAME"
dc:format="image/jpeg">
<xmpMM:DerivedFrom stRef:instanceID="6B5F4850BB0819F254E40401F67ACAC9"
<stRef:documentID="6B5F4850BB0819F254E40401F67ACAC9"/>
<xmpRights:UsageTerms>
<rdf:Alt>
<rdf:li xml:lang="x-default">MY INFO HERE</rdf:li>
</rdf:Alt>
</xmpRights:UsageTerms>
<dc:description>
<rdf:Alt>
<rdf:li xml:lang="x-default">OOODescription
</rdf:li>
</rdf:Alt>
</dc:description>
</rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)
这是Photoshops格式很好的视图(已编辑)
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
<xmpMM:DocumentID>xmp.did: … …Run Code Online (Sandbox Code Playgroud) 我有一个页面,其中显示许多帖子,并允许打印单个帖子(div带有所有子项的a)。
通过单击“打印”按钮,我浏览了页面上的每个元素,并将其样式设置如下:
要打印的div设置为printme将topand left属性设置position为0并设置为的类absolute。
要打印的div的孩子们一个人呆着
如果该元素是要打印的div的父级print-visibility-hide,则添加一个set 的类visibility: hidden。
否则,我添加一个set的类display: none。其输出如下所示。
一切正常,除了打印空白页外-我认为这是由于父div visibility: hidden用于隐藏内容并因此占用了空间。
有什么方法可以打印div并以某种方式删除或折叠此多余的空间?
HTML-我最终得到如下所示的内容(为简洁起见,删除了所有内容):
<body class="print-visibility-hide">
<div class="page-container print-visibility-hide">
<div class="main print-visibility-hide">
<div class="main-content d-section-top print-visibility-hide" id="main-content" style="background: transparent none repeat scroll 0% 0%; margin-left: 145px;">
<div id="gemwrapper" class="gemwrapper print-visibility-hide" style="display: block;">
<div class="gem-content-wrapper d-item d-section print-visibility-hide">
<div class="gem-content-main gems print-visibility-hide">
<div class="print-visibility-hide">
<div style="display: block;" id="s-g1353" class="print-visibility-hide">
<table class="print-visibility-hide"> …Run Code Online (Sandbox Code Playgroud) 我在共享服务器 (webhostinghub) 上运行每晚的 CRON 作业来备份我的 mySQl InnoDB 数据库。CRON 作业运行一个 php 脚本,该脚本依次mysqldump通过passthrough()以下方式发出命令;
$return = -1;\n$command = "mysqldump -h localhost -u server_user -ppassword --add-drop-table --quick --set-gtid-purged=OFF server_database > ./backup/backup-2018-02-19.sql"; \n\npassthrough($command, $return); // note: I just added the $return parameter to see what it is returning which is `7` => non zero tells me there is some error but there is no further info I can find.\nRun Code Online (Sandbox Code Playgroud)\n\n该脚本运行多年,没有出现错误,最近开始创建零字节文件。
\n\n我从 phpMyAdmin 注意到:
\n\nServer type: MariaDB\nServer version: …Run Code Online (Sandbox Code Playgroud) css ×3
javascript ×3
mysql ×3
php ×3
printing ×2
android ×1
confirmation ×1
debugging ×1
font-size ×1
html ×1
image ×1
indexing ×1
innodb ×1
jpeg ×1
left-join ×1
limit ×1
mariadb ×1
metadata ×1
null ×1
nvp ×1
opacity ×1
opera ×1
paypal ×1
paypal-ipn ×1
perl ×1
php-8.1 ×1
phpmyadmin ×1
rdf ×1
replace ×1
sql ×1
varchar ×1
xmp ×1