php下拉列表

时间:2011-03-10 06:41:31

标签: php codeigniter

我是codeigniter的新手,我正在开展一个项目。我必须使用我的数据库中的值创建一个动态下拉菜单,当您单击提交按钮时在下拉列表中进行选择时,必须出现一个新页面,其中所有与该省选择的城市相关联下拉菜单出现,城市也在我的数据库中。我的数据库由一个id字段,省字段和一个城市字段组成。下拉菜单很好但似乎无法使城市出现在下一页。我们将非常感谢您的帮助  好的,这是我的代码

这是来自我的查看文件,显示我的下拉菜单,这一面没问题

<?
    function writeCities($id)
    {       
        $con = mysql_connect("localhost","root","");
        if (!$con) die('Could not connect: ' . mysql_error());
        mysql_select_db("msansi", $con);
        $query  = "SELECT cities FROM provinces WHERE id =";
        $query .= $id;
        $result = mysql_query($query);          

        $row = mysql_fetch_array($result);
        echo $row[0];       
    }



    function populateDropBox()
    {
        $con = mysql_connect("localhost","root","");
        if (!$con) die('Could not connect: ' . mysql_error());
        mysql_select_db("msansi", $con);
        $result = mysql_query("SELECT id,title,cities FROM provinces");

        while($row = mysql_fetch_array($result))
        {   
            echo "<option value=$row[0]>" . $row['title']."</option>";
        }
    }
?>

<form name="myform" action="http://localhost/CodeIgniter_1.7.3/index.php/ndivhuho/submit" method="post">

    <select name = "province" onChange="onChangeDropBox();"/> 
    <? populateDropBox(); ?>    
    <input type="submit"  value="submit"; />     
    </form>

这是我的另一个视图文件,它应该显示文本区域中的城市

<?
    function writeCities($id)
    {       
        $con = mysql_connect("localhost","root","");
        if (!$con) die('Could not connect: ' . mysql_error());
        mysql_select_db("msansi", $con);
        $query  = "SELECT cities FROM provinces WHERE id =";
        $query .= $id;
        $result = mysql_query($query);          

        $row = mysql_fetch_array($result);
        echo $row[0];       
    }


?>

    <script type="text/javascript">
function onChangeDropBox()

    {
         var selected =0;
        selected = document.myform.province.value;                  

        var t = "<? writeCities(1);?>";
        document.myform.textArea.value = t;

    }
</script> 

    <form name=myform>


    <textarea name="citites" readonly="true";></textarea>
    </form>

我确定我需要在控制器中做一些我不知道的事情 提前超过!!!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

这里有一些问题。

您提供的代码是使用本机php函数连接到mysql。您应该使用正确的CodeIgniter库。首先阅读本文。

http://codeigniter.com/user_guide/database/examples.html

一旦你读完了......

“这是来自我的查看文件,显示我的下拉菜单”

从您的视图文件中取出代码!数据库调用应该在模型中,并且应该由控制器调用,控制器将数据传递到您的视图文件。

也可以这样读:

http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller