当前位置: 代码迷 >> PHP >> 新手4
  详细解决方案

新手4

热度:145   发布时间:2016-04-28 18:36:45.0
新手求助4

主文件:
<td align="center"><a href="wzzg1.php?uid=<?php echo $row['uid']?>">
<?php if($row["ID"]==0){
echo "公开";
}

?>
    </a>
<a href="wzzg2.php?uid=<?php echo $row['uid']?>&page=<?php echo $page?>">
<?php if($row["ID"]==1){
echo "未公开";
}

?>
</a></td>


这是wzzg.php内容
<?php
if(isset($_GET['uid']))
{
mysql_query('UPDATE `lyb` SET `ID`=1 WHERE `uid` =\''.$_GET['uid'].'\'');

echo "<script language='javascript'>location.href='htly.php?page=$page';</script>";
}
?>

现在实现了“未公开”和“公开”的转换,但是屏幕会闪,
如何做到屏幕不闪得转换
------解决方案--------------------
引用:
能具体给出个方法么?


服务端要有一个处理'公开'和'未公开'的页面,假设像以下这个 demo.php


<?php 
if ($_GET['pub'] != 0) {
    // 处理公开的代码
    $status = 1;   // TODO 返回给客户端,处理的结果
} else {
    // 处理未公开的代码
    $status = 1;   // TODO 返回给客户端,处理的结果
}

// 返回给客户端一个 JSON 字符串,包含处理结果信息
exit( json_encode( array ('status' => $status ) ));


那么,请求 demo.php?pub=1 代表公开,
请求 demo.php?pub=0 代表不公开,

--------------------------------------------------------------------
再说 HTML 页面, 需要引入 jquery 库, 百度一下, 有下载
其实关键就是 $.get() 这个函数的用法

<!-- 引入 jquery 库 -->
<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">
// 处理公开, 不公开的脚本
// uid 谁
// is_pub 是否公开 (true or false)
// btn 按钮节点
function DoPub (uid, is_pub, btn) {
    var queryData = {
        uid: uid,
        pub: is_pub ? 1 : 0
    };
    
    // 向服务端发起请求
    $.get ('demo.php', queryData, function (data) {
        if (data.status != 0) { // 如果处理成功
            // 切换按钮的文字, 与点击事件
            btn.innerHTML = is_pub ? '公开' : '未公开';
            btn.onclick = function (event) {
                DoPub(uid, ! is_pub, btn);
            };
        } else alert('处理失败!');
    }, 'json');
}
</script>

<!-- 假设页面上只有这一个按钮, 处理 uid=1 的公开与否 -->
<a href="javascript:void(0);" onclick="DoPub(1, true, this)">未公开</a>
  相关解决方案