我正在尝试在我的cakephp应用程序的结果页面上构建一个"搜索"框.该页面使用cakePHP分页组件来显示和"分页"结果.这很完美,但我很难让下一部分工作.
期望的结果:
代码:
// Form:
<?php
echo $this->Form->create('search', array('class' => false));
echo $this->Form->input('searchFor');
echo $this->Form->input('dateFrom');
echo $this->Form->input('dateTo');
echo $this->Form->end();
?>
// Controller:
if($this->request->is("post")) {
$filters = $this->request->data["search"];
$this->passedArgs["searchFor"] = $filters["searchFor"];
$this->passedArgs["dateFrom"] = $filters["dateFrom"]." 00:00:00";
$this->passedArgs["dateTo"] = $filters["dateTo"]." 00:00:00";
// Assign search parameters:
if($this->passedArgs["searchFor"] != "") {
$conditions["Model.field LIKE"] = "%".$this->passedArgs["searchFor"]."%";
}
$conditions["Model.created >="] = $this->passedArgs["dateFrom"];
$conditions["Model.created <="] = $this->passedArgs["dateTo"];
} else {
$conditions = array("Result.status_id >=" => 12);
}
$this->paginate = array(
'conditions' => $conditions, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用cakePHP Form帮助器显示内联构建的表单元素.它似乎与它围绕元素创建的类有关.我确信这可以用CSS修复,但如果有另一种方式我宁愿做正确的事:
<?php
echo $this->Form->create("users");
echo $this->Form->input("username",array("label" => false, "class" => false, "value" => "Username", "class" => "loginCredentials"));
echo $this->Form->input("password",array("label" => false, "class" => false, "value" => "Password", "class" => "loginCredentials"));
echo $this->Form->input("loginBtn",array("label" => false, "class" => false, "value" => "LOGIN", "class" => "loginCredentials", "type" => "submit"));
echo $this->Form->end();
?>
Run Code Online (Sandbox Code Playgroud) 我一直使用margin将浮动div移动到父div中的正确位置(例如标题div中的徽标div)。这一直有效,但这意味着您必须使用元素的单个高度,否则它将向下影响布局的其余部分。
我今天找到了另一种方法,那就是使徽标div位置:相对;然后使用示例top:20px; 来移动元素,这似乎并不影响布局。
我不想在不知道可能还有其他含义的情况下适应这一问题,那么有人可以指出上述两种方法中的常见缺陷还是可以提出更好的解决方案?
// Sample HTML
<div id='header'>
<div id='logo'>
LOGO GOES HERE
</div>
</div>
// Sample CSS
#header {
height: 100px;
}
// Version 1
#logo {
float: left;
margin-top: 20px;
}
// Version 2
#logo {
float: left;
position: relative;
top: 20px;
}
Run Code Online (Sandbox Code Playgroud) 我正忙于为一位客户提供表格管理器。通常的想法是,将为各个部门构建表单,我想创建一个微型系统,该系统将处理表单的验证等,而无需重复太多工作。尽可能自动化。
我的首要任务是单击提交按钮,遍历整个表单,并根据特定的凭据和验证规则在将表单发送到服务器之前对其进行验证。我已经看到了许多与获取表单中所有输入字段示例相关的帖子,但是我正在寻找一种解决方案,该解决方案将遍历整个表单及其内容,然后对所有表单元素(包括选择框,输入框,文本框等)。
我可以单独进行此操作,但我希望验证可以从上至下进行,因此,如果第一个字段是选择字段,下一个是输入字段,则应该从上到下遍历表单,这样我就可以根据此输出错误。
// Sample code:
$(document).ready(function() {
$("#main_submit").click(function() {
// Select all of the form fields here and iterate through them ...
});
});
Run Code Online (Sandbox Code Playgroud)
// Sample code:
$(document).ready(function() {
$("#main_submit").click(function() {
// Select all of the form fields here and iterate through them ...
});
});
Run Code Online (Sandbox Code Playgroud) 所以我们有各种各样的搜索页面,每个搜索页面都有不同的搜索条件,所以我决定编写一个组件,它将从控制器获取传递给它的参数,收集必要的数据并返回一个数组,我可以将其设置为在我的内部使用查看文件以填充下拉框以过滤条件.
我已经设法将所有内容写到我必须使用cakePHP助手来构建动态选择框的地方.我确信我做错了,如果有更简单的方法可以做到这一点并且仍然保持一些动态,请尽可能协助:
// COMPONENT METHOD:
public function filterQueries($parameters) {
// Get defaults from the user:
$criteria = $parameters["custom"];
$defaults = $parameters["defaults"];
// Validate the defaults the user may want and assign them to the return array:
if($defaults != "false") {
foreach($defaults as $key => $value) {
if(array_key_exists($value, $this->defaults)) {
$this->returnArray["defaults"][$value] = $this->defaults[$value];
}
}
}
// Get all data for the custom requested form fields:
if($criteria != false) {
foreach($criteria as $model => $arguments) {
$fields = $arguments["fields"];
$conditions = …Run Code Online (Sandbox Code Playgroud) 我正在越过PDO,并希望简单地说,从表中返回一个值(我感觉真的很愚蠢,因为没有把它弄好).我没有得到任何错误,但也没有值,应该有:)
try {
$sql = "SELECT `column_name` FROM `table` ORDER BY `id` DESC LIMIT 1";
$query = $this->handler->query($sql);
$result = $query->fetchColumn();
print_r($result);
}
catch(PDOException $e) {
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何捕获PHP致命错误
我想创建一个自定义错误处理程序,但PHP忽略它仍然使用内置的错误处理程序.下面的示例给出了内置致命错误,因为未定义test():
function critical_error($error_number,$error_string,$error_file,$error_line,$error_context) {
echo "<strong>error:</strong> echo ".$error_string;
exit();
}
set_error_handler("critical_error",8191);
test();
exit;
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我正在尝试重定向未通过 OnactionExecuting() 进行身份验证的访问者,以便它覆盖我的整个控制器,但它几乎就像被完全跳过一样。是否可以从 OnActionExecuting() 内重定向?
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (SimpleAuth.isAuth())
{
RedirectToAction("Login", "Users");
}
}
Run Code Online (Sandbox Code Playgroud) 我只想返回用户表中的所有行,但选择的字段和可能的concat 2字段.
正常的sql可能刚刚:
SELECT id, CONCAT(`first_name`,`last_name`) AS `fullname` FROM `users`
Run Code Online (Sandbox Code Playgroud)
但试图在蛋糕中实现这一点是一场噩梦:
$users = $this->User->find("all") = returns everything
$users = $this->User->find("list",array("fields" => " ...) does not work either.
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我如何使用蛋糕模型来实现简单的查询和返回结果
我正在努力抓住以下几点.我想基于PHP数组为每行表构建一个3数据单元.换句话说,如果数组中有3个值,则应该有如下结构:
<?php
$arr = array("value1","value2","value3");
?>
// Expected outcome:
<table>
<tr>
<td>value1</td>
<td>value2</td>
<td>value3</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
但是如果要将第4个值添加到数组中,它必须动态创建另一行,换句话说:
<?php
$arr = array("value1","value2","value3","value4");
?>
// Expected outcome:
<table>
<tr>
<td>value1</td>
<td>value2</td>
<td>value3</td>
</tr>
<tr>
<td>value4</td>
<td></td>
<td></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我真的不介意哪个解决方案,甚至是php和jQuery之间的混合,但只是我可以用来实现上述的东西.
我正在使用PDO(mysql)创建2个不同的数据库连接.我想在一个不同的数据库中将一行数据从一个表传输到另一个表.这不是行的重复,只选择了某些行.
我无法让它工作,任何想法?
private function moveCallToProduction() {
try {
$sql = "SELECT * FROM `calls` WHERE `id`=':id'";
$query = $this->staging->prepare($sql);
$query->execute($array);
$results = $query->fetchAll(PDO::FETCH_ASSOC);
try {
$sql = "INSERT INTO `calls` (`id`,`sip_id`,`extension`,`caller_id`,`stage`,`status`,`survey_id`,`start`,`answer`,`hangup`,`end`) VALUES ('?','?','?','?','?','?','?','?','?','?','?')";
$query = $this->production->prepare($sql);
$query->execute($results);
}
catch(PDOException $e) {
$this->informer("FATAL","There was a problem");
}
}
catch(PDOException $e) {
$this->informer("FATAL","We're unable to transport the call from the staging to production server. Error: ".$e->getMessage());
}
}
Run Code Online (Sandbox Code Playgroud) php ×7
cakephp ×4
components ×2
css ×2
jquery ×2
mysql ×2
pdo ×2
asp.net-mvc ×1
c# ×1
controller ×1
database ×1
formhelper ×1
helper ×1
html ×1
html-table ×1
javascript ×1
pagination ×1