PHP раскрывающийся список - PullRequest
1 голос
/ 10 марта 2011

Я новичок в codeigniter и работаю над проектом.Мне нужно создать динамическое раскрывающееся меню со значениями из моей базы данных, когда в раскрывающемся списке будет сделан выбор, как только вы нажмете кнопку отправки, появится новая страница, где все города, связанные с провинцией, выбранной вПоявится раскрывающееся меню, города также находятся в моей базе данных. Моя база данных состоит из поля идентификатора, поля провинции и поля городов. Выпадающее меню хорошо, но кажется, что города не отображаются на следующей странице.Ваша помощь будет высоко оценена, хорошо, вот мой код

это из моего файла просмотра, который отображает мое выпадающее меню, с этой стороны все в порядке

<?
    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 ]

1 голос
/ 10 марта 2011

Здесь есть несколько проблем.

Код, который вы предоставили, использует нативные функции php для подключения к mysql. Вы должны использовать правильные библиотеки CodeIgniter. Начните с чтения этого.

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

Как только вы это прочитаете ..

"это из моего файла просмотра, который отображает мое выпадающее меню"

Удалите код из вашего файла просмотра! Вызовы базы данных должны быть в модели, и это должен вызывать контроллер, который передает данные в ваш файл представления.

Вероятно, прочитайте это тоже:

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

1 голос
/ 10 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...