用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

请问一下各位学长学姐代码重用的问题

本帖最后由 carlkyo 于 2013-6-14 13:32 编辑

代码重用
请问一下各位学长学姐
以下的代码要怎么包装才可以重用啊
因为我有几个地方都要用它
好像搜索,我的留言之类的
谢谢


    echo "<div class='showmsg'>";
    $page_size = 20; //number of page
    $page = isset($_GET['page']) ? $_GET['page'] : $page = 1;
    $sql = "select * from msg order by id desc";
    $rs = mysql_query($sql);
    if ($rs) {
        $num = mysql_num_rows($rs);
    }

    $sql = "select * from msg order by id desc" . get_limit($page_size);
    $rs = mysql_query($sql);
    if ($rs) {
        while ($rows = mysql_fetch_object($rs)) {
            echo "<ul onmouseover=\"show('msg" . $rows->id . "')\" onmouseout=\"show('msg" . $rows->id . "')\">";
            echo "<li class='msgtop' id='msg" . $rows->id . "' style='display:none;'> ";
            echo "<span class='building'>";
            echo " <a href='javascript:openReply(" . $rows->id . ");' id='replytxt" . $rows->id . "'>回复</a>  ";
            echo " <a href='javascript:delmsg(" . $rows->id . ");'>删除</a>";
            echo $rows->id . "<input type='checkbox' name='id[]' value='" . $rows->id . "'>";
            echo " </span>";
            echo "<span class='nickname'><b>用户:</b>" . $rows->author . "</span> <b>时间:</b>" . $rows->adddate;
            echo " </li>";
            echo " <li class='msgcont' id='msgcont" . $rows->id . "'> ";
            echo $rows->content;
            echo " <div class='replyaction' id='" . $rows->id . "'>";
            echo "<textarea id='replymsg" . $rows->id . "'  class='replymsg'></textarea><br/>";
            echo "<input name='Submit' type='button' class='bt' id='bt_sendr" . $rows->id . "' value='提交回复' onclick='return chkReply(" . $rows->id . ");' />";
            echo "<span id='replysending" . $rows->id . "' style='display:block; width:50px;'></span>";
            echo "</div>";

            $lid = $rows->id;
            $reply = mysql_query("select *from reply where lid = '$lid'");
            while ($rew = mysql_fetch_object($reply)) {

                echo "<div class='reply'>[" . $rew->replydate . "] <b>" . $rew->user . "></b> 回复:<br/>";
                echo $rew->replymsg . "</div>";
            }
            echo "</li>";
            echo " </ul>";
        }
    }
    echo "</form>";
    echo "<div class='pagenav'>";
    echo get_page_list("index.php?mod=home", $num, $page_size, 5);
    echo "</div>";
    echo " </div>";

昵称: carlkyo  时间: 2013-06-14 13:30:13
一般习惯吧mysql连接的方法,查询的sql文件,样式,分别写成独立的文件。

对于你的问题。直接吧这段代码整体扩起来就成
function xxx(){
  //你帖子里的代码

调用的时候
xxx();
}
昵称: eleven11  时间: 2013-06-14 14:01:54
eleven11 发表于 2013-6-14 14:01
一般习惯吧mysql连接的方法,查询的sql文件,样式,分别写成独立的文件。

对于你的问题。直接吧这段代码整 ...

Sql和数据表格是分开的
1.        搜寻
2.        我的留言
3.        首页
它们都是对应同一个数据表格
我想重用那个数据表格
3Q
昵称: carlkyo  时间: 2013-06-14 14:14:21
$page_size = 20; //number of page
$msg_sql = "select * from msg order by id desc";
/**
         * @msg_sql        是查询msg表格的sql语句
         *
         * @Return array
*/
function page_list($msg_sql, $page_size){
         echo "<div class='showmsg'>";
        $page = isset($_GET['page']) ? $_GET['page'] : $page = 1;        
        $rs = mysql_query($msg_sql);
        if ($rs) {
                $num = mysql_num_rows($rs);
        }
         
        $sql = $msg_sql . get_limit($page_size);
        $rs = mysql_query($sql);
        if ($rs) {
                while ($rows = mysql_fetch_object($rs)) {
                        echo "<ul onmouseover=\"show('msg" . $rows->id . "')\" onmouseout=\"show('msg" . $rows->id . "')\">";
                        echo "<li class='msgtop' id='msg" . $rows->id . "' style='display:none;'> ";
                        echo "<span class='building'>";
                        echo " <a href='javascript:openReply(" . $rows->id . ");' id='replytxt" . $rows->id . "'>回复</a>  ";
                        echo " <a href='javascript:delmsg(" . $rows->id . ");'>删除</a>";
                        echo $rows->id . "<input type='checkbox' name='id[]' value='" . $rows->id . "'>";
                        echo " </span>";
                        echo "<span class='nickname'><b>用户:</b>" . $rows->author . "</span> <b>时间:</b>" . $rows->adddate;
                        echo " </li>";
                        echo " <li class='msgcont' id='msgcont" . $rows->id . "'> ";
                        echo $rows->content;
                        echo " <div class='replyaction' id='" . $rows->id . "'>";
                        echo "<textarea id='replymsg" . $rows->id . "'  class='replymsg'></textarea><br/>";
                        echo "<input name='Submit' type='button' class='bt' id='bt_sendr" . $rows->id . "' value='提交回复' onclick='return chkReply(" . $rows->id . ");' />";
                        echo "<span id='replysending" . $rows->id . "' style='display:block; width:50px;'></span>";
                        echo "</div>";
         
                        $lid = $rows->id;
                        $reply = mysql_query("select *from reply where lid = '$lid'");
                        while ($rew = mysql_fetch_object($reply)) {
         
                                echo "<div class='reply'>[" . $rew->replydate . "] <b>" . $rew->user . "></b> 回复:<br/>";
                                echo $rew->replymsg . "</div>";
                        }
                        echo "</li>";
                        echo " </ul>";
                }
        }
        echo "</form>";
        echo "<div class='pagenav'>";
        echo get_page_list("index.php?mod=home", $num, $page_size, 5);
        echo "</div>";
        echo " </div>";
}
昵称: tommercatfly  时间: 2013-06-14 14:35:22
我稍微整理了下,因为楼主发出的代码并不完整,我没办法帮你完全整理,这里只是个例题,其实你要重用代码只要写成function然后如果有返回值的话就return下,如果没有返回值就像我写的一样。如果那里没写对请各位大大指教
昵称: tommercatfly  时间: 2013-06-14 14:37:39
1、数据库操作
2、获取数据列表及分页信息
3、赋值
function connect() {
    xxxxxx;
}

function getDataList() {
    //connect db
    return array('data' => $data, 'page' => $page);
}

getDataList();
assign();
昵称: enze  时间: 2013-06-14 14:43:57
tommercatfly 发表于 2013-6-14 14:37
我稍微整理了下,因为楼主发出的代码并不完整,我没办法帮你完全整理,这里只是个例题,其实你要重用代码只 ...

给你们看看
谢谢了

昵称: carlkyo  时间: 2013-06-14 14:53:38
enze 发表于 2013-6-14 14:43
1、数据库操作
2、获取数据列表及分页信息
3、赋值

学长有这种写法的教学吗
最好有留言板的
谢谢了
昵称: carlkyo  时间: 2013-06-14 15:04:32
留言板我这边有个,是以前没事的时候自己写的,是用mvc模式写的,比较简化,没做太多的前台修饰,看看是可以的,就是那时候没做分页,你给我个邮箱我发你,论坛我没办法放上去可能等级比较低
昵称: tommercatfly  时间: 2013-06-14 15:28:10
简单点儿就是mvc分层,你的代码mvc基本上是你中有我我中有你,牵一发而动全身,复用基本是不可能的
昵称: qxhy123  时间: 2013-06-14 15:38:28
发表评论
昵称:
内容:
验证: