【发布时间】:2012-07-31 15:47:23
【问题描述】:
由于布局的原因,我不能使用另一个 <form> 标签,所以我尝试使用 javascript 来更新数据库。
由于代码只是用window.location.href 更改URL,它不会重新加载页面来运行if 语句。
这是我的代码:
$check_view = $member->getUsersView($user_id);
if((isset($_GET['view-all'])) && $check_view != $_GET['view-all'])
{
$view_all = $_GET['view-all'];
$database->query('UPDATE users SET view_all = :viewall WHERE id = :userid', array(':viewall' => $view_all, ':userid' => $user_id));
}
<div onclick="javascript:window.location.href = \'page.php?action=list&'.(isset($_GET['view-all']) && $_GET['view-all']=="No" && $check_view=="No" ? 'view-all=Yes' : 'view-all=No').'\';">'.(isset($_GET['view-all']) && $_GET['view-all']=="No" && $check_view=="No" ? 'Show All' : 'Hide').'</div>
谁能帮帮我?
编辑:感谢马特的帮助,我得以让它工作:
if(isset($_GET['view-all']))
{
$check_view = $member->getUsersView($user_id);
if($check_view != $_GET['view-all'])
{
$view_all = $_GET['view-all'];
$database->query('UPDATE users SET view_all = :viewall WHERE id = :userid', array(':viewall' => $view_all, ':userid' => $user_id));
}
}
$users_view = $member->getUsersView($user_id);
$view_all = "No";
$hide_show = "Hide";
if((isset($_GET['view-all']) && ($_GET['view-all']=="No")) || ($users_view=="No"))
{
$view_all = "Yes";
$hide_show = "Show All";
}
$data = '<a href="page.php?action=list&view-all='.$view_all.'">'.$hide_show.'</a>';
【问题讨论】:
-
为什么要使用
<div>+ onclick 而不是普通的<a>? -
您需要显示 DIV 的客户端输出,而不是服务器端 PHP 代码。
-
看在 GOD 的份上,请在
<script>块中定义您的onclick函数,然后从那里调用该函数!
标签: php javascript pdo