我必须使用关联数组传递一些参数,如下所示:
$blockGroup['name=products type=complete']
Run Code Online (Sandbox Code Playgroud)
做一些测试我发现它有效,但这是一个不好的做法?是否有可能产生任何错误或意外行为?
谢谢你的任何建议!
编辑1
我在视图实现中使用这个数组,完整的结构是:
$blockGroup['name=products type=complete'][] =
array(
'name' => 'GeForce',
'value' => '99.99'
);
Run Code Online (Sandbox Code Playgroud) 我有三个控制产品,颜色和尺寸的桌子.产品可以有或没有颜色和大小.颜色可以或不具有尺寸.
product color size
------- ------- -------
id id id
unique_id id_product (FK from product) id_product (FK from version)
stock unique_id id_version (FK from version)
title stock unique_id
stock
Run Code Online (Sandbox Code Playgroud)
unique_id所有表中都存在的列是一个串行类型(自动增量),它的计数器与三个表共享,基本上它作为它们之间的全局唯一ID.
它工作正常,但我想在我必须选择一些基于的字段时提高查询性能unique_id.
因为我不知道unique_id我在找什么,我正在使用UNION,如下所示:
select title, stock
from product
where unique_id = 10
UNION
select p.title, c.stock
from color c
join product p on c.id_product = p.id
where c.unique_id = 10
UNION
select p.title, s.stock
from size s
join product p on s.id_product = p.id …Run Code Online (Sandbox Code Playgroud) 我需要使用Javascript验证包含巴西钱(其名称为"Real")的一些表单文件.它具有以下格式:
0,01
0,12
1,23
12,34
123,45
1.234,56
12.235,67
123.456,78
1.234.567,89
12.345.678,90
123.456.789,01
1.234.567.890,12
Run Code Online (Sandbox Code Playgroud)
我的正则表达式知识很弱,有人可以帮助我吗?
我有一个PostgreSQL数据库,其中包含一些模式,如下所示:
My_Database
|-> Schemas
|-> AccountA
|-> AccountB
|-> AccountC
|-> AccountD
|-> AccountE
.
.
.
|-> AccountZ
Run Code Online (Sandbox Code Playgroud)
所有的模式都有一个名为表product具有称为列title.我想知道是否可以执行select语句来检索具有特定条件的所有模式的所有记录.
我到目前为止找到的唯一方法是按帐户运行查询帐户,如下所示.
SET search_path TO AccountA;
SELECT title FROM product WHERE title ILIKE '%test%';
Run Code Online (Sandbox Code Playgroud)
模式是动态创建的,因此我不知道它们的名称或存在多少名称.
考虑到一个项目将工作多个开发人员并且将不断更新和维护,考虑到可读性和安全性,下面两个代码中的哪些代码可以被认为是PHP中的最佳实践?如果我们谈论性能,第二种选择可能会好一点,但有办法解决这一点.
选项1
$user = $_POST['user'];
$pass = $_POST['pass'];
// Prevent SQL Injection and XSS
$user = anti_injection($user);
$pass = anti_injection($pass);
if(strlen($user) <= 8 && strlen($pass) <= 12)
{
// SQL query
$sql = "SELECT id
FROM users
WHERE username = '$user' AND password = '$pass';";
}
Run Code Online (Sandbox Code Playgroud)
选项2
// Retrieve POST variables and prevent SQL Injection and XSS
$_POST['user'] = anti_injection($_POST['user']);
$_POST['pass'] = anti_injection($_POST['pass']);
if(strlen($_POST['user']) <= 8 && strlen($_POST['pass']) <= 12)
{
// SQL query
$sql = "SELECT id …Run Code Online (Sandbox Code Playgroud) 这是我第一次使用新版本的Google Analytics(Universal Analytics),所以当我在</head>获取所有网址的空白页面之前,我会将下面的代码放入imediatally .
以下是Google提供的代码:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-1234567-89', 'mysite.com');
ga('send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)
有人知道为什么会这样吗?似乎是一个错误,但我不知道如何解决这个问题.
我有一个Postgres 8.4架构,如下所示:
My_Database
|-> Schemas
|-> AccountA
|-> AccountB
|-> AccountC
|-> AccountD
|-> AccountE
...
|-> AccountZ
Run Code Online (Sandbox Code Playgroud)
所有模式都有一个调用的表product,我想立即为它们添加一个布尔列.是否有可能做到这一点?
我到目前为止找到的唯一方法是按帐户运行以下SQL帐户.
ALTER TABLE product ADD COLUMN show_price boolean NOT NULL DEFAULT TRUE;
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Google Invisible reCAPTCHA,但是g-recaptcha-response当我在同一页面中有多个表单时,它将发送POST参数为空。这是我的代码:
谷歌JS
<script src="//google.com/recaptcha/api.js?hl=pt-BR&onload=captchaCallback&render=explicit" async defer></script>
Run Code Online (Sandbox Code Playgroud)
表格1
<form action="/site/Contact/send" id="form1">
<input type="text" name="nome" required>
<div class="g-recaptcha"
data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxx"
data-callback="form1Callback"
data-size="invisible">
</div>
<button type="submit">Send</button>
</form>
Run Code Online (Sandbox Code Playgroud)
表格2
<form action="/site/Contact/send" id="form2">
<input type="text" name="nome" required>
<div class="g-recaptcha"
data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxx"
data-callback="form2Callback"
data-size="invisible">
</div>
<button type="submit">Send</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我的JS(基于此答案)
$(document).ready(function() {
window.captchaCallback = function(){
$('.g-recaptcha').each(function(index, el) {
var attributes = {
'sitekey' : $(el).data('sitekey'),
'size' : $(el).data('size'),
'callback' : $(el).data('callback')
};
grecaptcha.render(el, attributes);
});
};
window.form1Callback = function(){
$('#form1').submit(); …Run Code Online (Sandbox Code Playgroud) 我正在使用 ajax 发送表单数据,因此要覆盖我正在使用的默认浏览器行为preventDefault(),但我希望保留浏览器功能以记住输入的数据以供将来自动完成。
是否有可能做到这一点?
HTML
<form id="form-login" action="/padrao/Login/executaLoginAjax" method="post">
<input type="text" id="usuario" name="usuario[email]" class="entradas" placeholder="Usuário" maxlength="80" required />
<input type="password" id="senha" name="usuario[senha]" class="entradas" placeholder="Senha" maxlength="12" required />
<input type="submit" id="btn-logar" value="Acessar o sistema" />
</form>
Run Code Online (Sandbox Code Playgroud)
Javascript
$('#form-login').submit(function(event){
event.preventDefault();
var action = $(this).attr('action');
var dados = $(this).serialize();
$.ajax({
type: "POST",
url: action,
data: dados,
dataType: "json",
success: function(json){
if(json.sucesso){
window.location.href = 'http://' + location.host + '/home';
}else{
alert('fail');
}
}
});
});
Run Code Online (Sandbox Code Playgroud) 我开始使用原型,如果我使用代码,我得到了预期的结果:
$(document).ready(function() {
var MyObject = new MyClass();
MyObject.assign();
MyObject.console();
});
function MyClass() {
var myProperty;
};
MyClass.prototype = {
assign: function() {
this.myProperty = 'Hello world!';
},
console: function() {
console.log(this.myProperty); // Shows 'Hello world!'
}
};
Run Code Online (Sandbox Code Playgroud)
但是下面的代码返回undefined.我不明白为什么,有人可以帮我吗?
$(document).ready(function() {
var MyObject = new MyClass();
MyObject.console();
});
function MyClass() {
var myProperty = 'Hello world!';
};
MyClass.prototype = {
console: function() {
console.log(this.myProperty); // Shows 'undefined'
}
};
Run Code Online (Sandbox Code Playgroud) 我必须使用jQuery .html()方法在DIV中动态加载以下HTML .
<div class="box-gerenciamento-versoes-variacoes">
<div class="detalhes-versao">
<p><span>Cor</span> do produto:</p> <img src="/admin/imagens/cores/preto-amarelo.png" height="18" width="18" title="Preto e amarelo" alt="" /> <span class="nome-cor">Preto e amarelo</span>
</div>
<div class="box-enviar-fotos">
<input type="button" class="botao-enviar-fotos" value="" /> 0 fotos enviadas
</div>
<div class="div_clear"></div>
<div class="etiquetas-tamanho-estoque">
<p class="etiqueta-tamanho">Tamanho:</p>
<p class="etiqueta-estoque">Estoque:</p>
</div>
<ul class="gerenciamento-tamanho">
<li>
PP
<input type="text" />
</li>
<li>
P
<input type="text" />
</li>
<li>
M
<input type="text" />
</li>
<li>
G
<input type="text" />
</li>
</ul>
<div class="div_clear"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,内容不小,而且该.html()方法不允许换行,所以要加载这些内容我必须删除所有换行符,但这样做代码会很丑,应用程序维护会有什么困难.
如何 …
javascript ×5
jquery ×4
postgresql ×4
php ×3
sql ×3
ajax ×1
arrays ×1
currency ×1
ddl ×1
forms ×1
html ×1
inheritance ×1
optimization ×1
plpgsql ×1
prototype ×1
readability ×1
recaptcha ×1
regex ×1
smarty ×1
standards ×1
validation ×1