由于MySQL显然无法在日期时间字段中自动插入函数now()以添加新记录(如某些其他数据库),基于注释,我明确地尝试使用SQL语句插入它.(由于时间戳的各种限制,人们似乎认为时间戳与curdate()不是答案.)网上有很多文章建议使用SQL插入now()应该有效.
但是,当我尝试使用SQL语句插入日期时间时,该字段不会填充当前时间/日期,但它只给我默认的0000-00-等.这可能是语法错误,但它是让我疯狂,所以我发布它.
mysql_query("INSERT INTO users (first, last, whenadded) VALUES ('$first', '$last', now())";
Run Code Online (Sandbox Code Playgroud)
它插入第一个和最后一个,但在添加时没有任何内容,在whenadded字段中留下稿件等.
字段类型是datetime,它没有排序规则,属性,null默认值或额外值.顺便说一句,我尝试将now()放在单引号中......它引发了一个错误.
我现在已经用几种方式问过这个问题,但还是没有得到答案.
当你在包含换行符的textarea中捕获asci文本时,它似乎在你点击返回时以换行符的形式插入不可见的字符.换行符似乎具有返回格式\ r \n或\n换行符.这些字符在文本中不可见,但在某处.
但是,当我将此代码放在textarea中时,我无法让它显示换行符.事实上,我找不到任何放在textarea标签之间的代码显示换行符.
有人可以显示在textarea中显示换行符的方法,即.
<textarea>first line <some code> second line </textarea>
Run Code Online (Sandbox Code Playgroud)
我真的尝试过你可能想象到的一切.例如,如果我尝试<textarea> first line "\r\n" second line</textarea>它只是显示
`firstline "\r\n"` second line
Run Code Online (Sandbox Code Playgroud)
注意:任何涉及<br>都不会解决这个问题,因为这不是关于html,而是显示在textarea框中的纯文本.
感谢建议的代码在textarea中显示换行符.
我想向用户显示其他人是否已作为评论系统的一部分登录.跟踪用户的最佳做法是什么?例如:
您是否跟踪所有会话,然后将其标记为已关闭.或者您在注销时删除用户,仅跟踪活动用户.
我想我应该用userid创建一个表,登录时间,退出时间和/或状态.这是要走的路还是有一些跟踪会话ID的替代方法.如果使用表,那么保持sessionid是否有价值.当会话不再活动时,我应该删除行吗,否定需要whenloggedout字段.
有一个登录很容易跟踪用户登录.但是,跟踪用户退出是很困难的,因为他们的会话可能会被浏览器崩溃等打破.
最好的做法是考虑用户登录,只要他们没有销毁会话...例如,FB和Gmail会让您几乎无限期地登录 - 或者自上次活动以来是否应该有时间限制?每次在网站上有活动时保存到此表的想法并不吸引人.
现在,我正在考虑以下事项:
create table loggedin (userid (int), whenloggedin (datetime), whenlogged out (datetime), loggedin(tinyint))
Run Code Online (Sandbox Code Playgroud)
如果whenlogout不为null或者在24小时之后的某个长时间限制之后,后者将变为0.我想起FB虽然让你长时间登录,但也为了聊天等目的而跟踪活动,但不确定.我也在考虑让表格扩展,而不是删除已关闭的会话,但这可能是一个错误.
这种方法是否足够或是否有更好的方法.很多人就此提出建议.
有谁知道一种创建下拉列表的方法,如在 select 语句中允许多项选择但可以显示在一行上。添加 multiple="multiple" 选项会导致它显示在与不适合该项目布局的选项一样多的行上,但是 Css 和/或 javascript 就可以了,希望避免使用 js 框架。考虑使用 onclick 事件来显示标准多行下拉框可能有效,但不确定如何实现。
以下显示在几行中。
<select name="items[ ]" multiple="multiple">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item2">item2</option></select>
Run Code Online (Sandbox Code Playgroud) 一个简单的问题,但对外观影响很大.
我希望文本从单元格边框缩进并尝试过 style=text-indent: 4px(未格式化以便在此处正确显示)但是第一行是缩进的,<br>标记后面的行不是缩进.请帮忙.因为一些Javascript我需要使用div.这是有缺陷的代码:
<td>
<div id="navbar" style="text-indent:4px"><b>View by:</b><br>
<a href="search.php?cat=pop">Popular</a><br>
<a href="search.php?cat=trend">Trending</a><br>
</div>
</td>
Run Code Online (Sandbox Code Playgroud) 我有一个 ajax 脚本,它用服务器返回的搜索结果填充页面上的 div。每个搜索结果都有一个带有第二个 javascript 函数的超链接,该函数在页面上设置隐藏的输入值以回发到服务器,具体取决于用户单击哪个结果。所有这些都运行良好。
但是,在第二个 javascript 函数中,我还想将原始 div 的内容设置为选定的值,但我无法使其正常工作。
起始页上的 html
<input type="text" onkeyup="getResults(this.value)"><div id="results"></div>
<input type="hidden" name="result" value="<div id='chosenresult'></div>">
Run Code Online (Sandbox Code Playgroud)
ajax 返回的标记:
<a href="javascript:void(0);" onclick ="setResult(1)">Result1</a><br>
<a href="javascript:void(0);" onclick ="setResult(2)">Result2</a><br>
Run Code Online (Sandbox Code Playgroud)
用于 setResult 的 Javascript
function setResult(varname) {
document.getElementById('chosenresult').value = varname; //WORKS FINE
document.getElementById('results').value = varname; //DOES NOT WORK
document.getElementById('results').innerHTML = varname; //ALTERNATIVE ALSO DOES NOT WORK
return false;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我可以在隐藏输入字段中设置值,但不能替换“结果”div 的内容。
感谢您的任何建议!
编辑:
我发现了错误。在隐藏输入选项卡的值中放置一个 div 可以作为设置值的一种技巧,但这是不必要的,并且似乎破坏了代码,因此未设置结果 div。代替 div,只需为隐藏的输入选项卡提供一个 id 并在 javascript 中设置其值,其工作方式如下:
html
<div id="results"></div>
<input type="hidden" name …Run Code Online (Sandbox Code Playgroud) 我试图使用javascript找到并替换文本中的换行符.
以下作品.它用字符z替换字符a.
var text = "aasdfasdf";
text= text.replace(/a/g,"z");
alert(text);
Run Code Online (Sandbox Code Playgroud)
以下基于此消息板和其他留言板上的其他帖子没有.基本上javascript不会触发:
var text = "aasdfasdf";
text= text.replace(/\n/g,"z");
alert(text);
Run Code Online (Sandbox Code Playgroud)
...这是许多帖子中的一个,表明它应该有效.
JavaScript:如何在HTML textarea中添加换行符?
并且顺便说一下,在Firefox中对我不起作用:
text = text.replace(/\n\r?/g, '<br />'); or
text = text.replace("\n", '<br />');
Run Code Online (Sandbox Code Playgroud)
注意:我意识到文本变量中没有换行符.我只是使用一个简单的字符串进行测试.
任何人都可以看到可能出现的问题,或者告诉我一种实际可行的方法.
谢谢.
我正在尝试检查是否存在一个gravatar.当我尝试早期问题中推荐的方法时,我收到错误"警告:get_headers()[function.get-headers]:此函数只能用于URL"任何人看到这个或看到我的代码中的错误?PS我不想指定gravatar的默认图像,因为如果没有gravatar退出,可能会有多个默认图像.
另外,我发现错误的引用可能与我的ini文件有关,我认为我的主机不允许我访问.如果是这样,有没有替代getheaders?非常感谢.
$email = $_SESSION['email'];
$email= "person@gmail.com"; //for testing
$gravemail = md5( strtolower( trim( $email ) ) );
$gravsrc = "http://www.gravatar.com/avatar/".$gravemail;
$gravcheck = "http://www.gravatar.com/avatar/".$gravemail."?d=404";
$response = get_headers('$gravcheck');
echo $response;
exit;
if ($response != "404 Not Found"..or whatever based on response above){
$img = $gravsrc;
}
Run Code Online (Sandbox Code Playgroud) 我有一些ajax将php脚本输出加载到div中.我希望用户能够单击输出中的链接并重写div而无需重新加载整个页面.这原则上可行吗?想象代码看起来像:
HTML
<div id="displayhere"></div>
Run Code Online (Sandbox Code Playgroud)
php1输出
echo '<a href="javascript:void(0);" onclick="reLoad(par1,par2,par3);">ChangeToNew</a>';
Run Code Online (Sandbox Code Playgroud)
JS
function reLoad(par1,par2,par3) {
...
document.getElementById("displayhere").innerHTML=xmlhttp.responseText;
xmlhttp.open("GET","php2.php?par1="+par1 etc.,true);
xmlhttp.send();
Run Code Online (Sandbox Code Playgroud)
PHP2
$par1 = $_get['par1'];
change database
echo '<a href="javascript:void(0);" onclick="reLoad(par1,par2,par3);">'.$par1.'</a>';
Run Code Online (Sandbox Code Playgroud)
原则上这可能有效还是方法有缺陷?
谢谢.
我已经想出了如何使用以下内容为每条记录的值相同时进行批量更新:
UPDATE tbl SET col1='foo1' WHERE id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
如果我有一个逗号分隔的值字符串,与id匹配,我可以进行批量更新,以不同方式更新值,如
UPDATE tbl SET col1='1,0,1' WHERE id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
感谢您的建议:
编辑:
将数据发送到此查询的html页面包含以下复选框:
<input type="checkbox" name="id[]" value="1"><input type="hidden" name="col1[]" value=0>
<input type="checkbox" name="id[]" value="2"><input type="hidden" name="col1[]" value=1>
<input type="checkbox" name="id[]" value="3"><input type="hidden" name="col1[]" value=0>
Run Code Online (Sandbox Code Playgroud)
最多20箱.
在服务器端,使用implode将发布的数组转换为逗号分隔的字符串,因此我最终得到两个字符串,值为1,0,1和id为1,2,3.但是用户可以从此页面检查多达20个框.也许我必须以某种方式操纵数组.请注意,在实际示例中,id不是1,2,3,但可能是221,433,512,600等,具体取决于用户检查的内容
php ×5
javascript ×4
html ×2
mysql ×2
ajax ×1
batch-file ×1
break ×1
css ×1
datetime ×1
gravatar ×1
header ×1
html-table ×1
line ×1
line-breaks ×1
search ×1
session ×1
textarea ×1
updates ×1