PHP/HTML选择和取消选择链接以更改URL
我有以下代码,其中显示了不同的状态名称:PHP/HTML选择和取消选择链接以更改URL,php,html,Php,Html,我有以下代码,其中显示了不同的状态名称: $request = $_GET; $array = Statuses('Porting', $behavior=''); foreach($array["results"] as $ret) { $sql="SELECT * from orders_porting where status = '".$ret["name"]."' "; $rs=mysql_query($sql,$conn); if($_GET[$ret["n
$request = $_GET;
$array = Statuses('Porting', $behavior='');
foreach($array["results"] as $ret) {
$sql="SELECT * from orders_porting where status = '".$ret["name"]."' ";
$rs=mysql_query($sql,$conn);
if($_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
echo '<a href="?'.$query.'">';
} else {
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
echo '<div class="TicketsMenuTabs""';
if($_GET[$ret["name"]] == '1') {
echo ' id="active"';
}
echo '>'.$ret["name"].' ('.mysql_num_rows($rs).')</div></a>';
}
$request=$\u GET;
$array=status('Porting',$behavior='');
foreach($array[“results”]作为$ret){
$sql=“从订单中选择*_-porting,其中状态=”$ret[“name”]。”;
$rs=mysql\u查询($sql,$conn);
如果($_GET[$ret[“name”]]=='1'){
取消设置($request[$ret[“name”]]);
$query=http\u build\u query($request);
回声';
}
它显示了可以点击的“按钮”,我也希望能够取消点击它们
我已经在if语句中添加了
unset
和http\u build\u query
,但是如果选择了两个按钮,我再次单击其中一个按钮取消选择它,那么在条件if($\u GET[$ret[“name”]='1')的else部分中,它们都会变成未选择的
未设置变量$query
,因为您在此处设置了它:
if($_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
echo '<a href="?'.$query.'">';
}
if($\u GET[$ret[“name”]]==“1”){
取消设置($request[$ret[“name”]]);
$query=http\u build\u query($request);
回声';
}
试试这个:
$query = http_build_query($request);
if($_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
echo '<a href="?'.$query.'">';
} else {
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
$query=http\u build\u query($request);
如果($_GET[$ret[“name”]]=='1'){
取消设置($request[$ret[“name”]]);
回声';
}否则{
回声';
}
在循环中,如果选择了每个链接,则在到达(循环的)末尾时,您将取消设置所有内容
试试这个:
- 在取消设置$request变量中的链接后,执行输出并使用$\u GET中的内容重置$request变量
- 别忘了设置$query变量(参见Mickeel的答案)
$request = $_GET;
$array = Statuses('Porting', $behavior='');
foreach($array["results"] as $ret) {
$sql="SELECT * from orders_porting where status = '".$ret["name"]."' ";
$rs=mysql_query($sql,$conn);
if($_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
$request = $_GET;
echo '<a href="?'.$query.'">';
} else {
$query = http_build_query($request);
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
echo '<div class="TicketsMenuTabs""';
if($_GET[$ret["name"]] == '1') {
echo ' id="active"';
}
echo '>'.$ret["name"].' ('.mysql_num_rows($rs).')</div></a>';
}
$request = $_GET;
$array = Statuses('Porting', $behavior='');
foreach($array["results"] as $ret) {
$sql="SELECT * from orders_porting where status = '".$ret["name"]."' ";
$rs=mysql_query($sql,$conn);
if(isset($_GET[$ret["name"]]) && $_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
$request = $_GET;
echo '<a href="?'.$query.'">';
} else {
$query = http_build_query($request);
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
echo '<div class="TicketsMenuTabs""';
if(isset($_GET[$ret["name"]]) && $_GET[$ret["name"]] == '1') {
echo ' id="active"';
}
echo '>'.$ret["name"].' ('.mysql_num_rows($rs).')</div></a>';
}
$request=$\u GET;
$array=status('Porting',$behavior='');
foreach($array[“results”]作为$ret){
$sql=“从订单中选择*_-porting,其中状态=”$ret[“name”]。”;
$rs=mysql\u查询($sql,$conn);
如果($_GET[$ret[“name”]]=='1'){
取消设置($request[$ret[“name”]]);
$query=http\u build\u query($request);
$request=$\u GET;
回声';
}
另外-在读取之前尝试检查$\u GET中的键是否存在-如下所示:
$request = $_GET;
$array = Statuses('Porting', $behavior='');
foreach($array["results"] as $ret) {
$sql="SELECT * from orders_porting where status = '".$ret["name"]."' ";
$rs=mysql_query($sql,$conn);
if($_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
$request = $_GET;
echo '<a href="?'.$query.'">';
} else {
$query = http_build_query($request);
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
echo '<div class="TicketsMenuTabs""';
if($_GET[$ret["name"]] == '1') {
echo ' id="active"';
}
echo '>'.$ret["name"].' ('.mysql_num_rows($rs).')</div></a>';
}
$request = $_GET;
$array = Statuses('Porting', $behavior='');
foreach($array["results"] as $ret) {
$sql="SELECT * from orders_porting where status = '".$ret["name"]."' ";
$rs=mysql_query($sql,$conn);
if(isset($_GET[$ret["name"]]) && $_GET[$ret["name"]] == '1') {
unset($request[$ret["name"]]);
$query = http_build_query($request);
$request = $_GET;
echo '<a href="?'.$query.'">';
} else {
$query = http_build_query($request);
echo '<a href="?'.$query.'&'.$ret["name"].'=1">';
}
echo '<div class="TicketsMenuTabs""';
if(isset($_GET[$ret["name"]]) && $_GET[$ret["name"]] == '1') {
echo ' id="active"';
}
echo '>'.$ret["name"].' ('.mysql_num_rows($rs).')</div></a>';
}
$request=$\u GET;
$array=status('Porting',$behavior='');
foreach($array[“results”]作为$ret){
$sql=“从订单中选择*_-porting,其中状态=”$ret[“name”]。”;
$rs=mysql\u查询($sql,$conn);
如果(isset($\u-GET[$ret[“name”]])&&&$\u-GET[$ret[“name”]]]=='1'){
取消设置($request[$ret[“name”]]);
$query=http\u build\u query($request);
$request=$\u GET;
回声';
}
最后但并非最不重要的是——我必须同意krzysiej的评论——不要使用mysql_*函数——它们是——使用或pdo mysql(很抱歉,由于我的代表,不能发布超过两个链接——如果你点击“去擦伤”链接,你会找到pdo mysql的链接)首先,不要使用mysql_*函数。