2011-03-10 11 views
1

저는 codeigniter를 처음 사용하고 있습니다. 저는 프로젝트에서 일하고 있습니다. 내 데이터베이스에서 값으로 동적 드롭 다운 메뉴를 만들어야합니다. 제출 버튼을 클릭하자마자 드롭 다운 메뉴에서 선택이 이루어지면 새 페이지가 발생해야합니다. 드롭 메뉴가 나타나면 도시도 내 데이터베이스에 있습니다. 내 데이터베이스는 id 필드, 지방 필드 및 도시 필드로 구성됩니다. 드롭 메뉴는 괜찮지 만 도시를 다음 페이지에 표시 할 수 없습니다. 당신의 도움이 높게 평가 될 것이다 괜찮 여기PHP 드롭 다운 목록

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

나는 컨트롤러에서해야 할 일이 무엇인지 모르겠다. thanxx를 미리 알아 두어야한다!

+0

내 코드 – user653006

+0

이 코드가있어 것입니까? 원래 질문으로 편집하십시오. – Dre

답변

1

몇 가지 문제가 있습니다 이리.

제공하신 코드는 원시 PHP 함수를 사용하여 mysql에 연결하는 코드입니다. 적절한 CodeIgniter 라이브러리를 사용해야합니다. 이것을 읽어서 시작하십시오.

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

당신은 읽을하면 ...

보기 파일에서 코드를 가지고

"이 내 드롭 메뉴를 표시하는 내보기 파일에서입니다!" 데이터베이스 호출은 모델에 있어야하며 데이터를 뷰 파일로 전달하는 컨트롤러에 의해 호출되어야합니다.

아마 이것도 읽어 여기에 확인

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