묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php 질문입니다~.
2009.12.03 04:21
제로보드에 관한건 아니지만, php 코딩 하다 모르는게 있어서 여쭈어 봅니다.
파일로 부터 라인단위로 배열에 저장 한다음, 라인수만큼 드롭다운 리스트를 만들었습니다.
그리고 드롭다운 리스트에서 체인지 이벤트가 발생하면 선택된 숫자번쨰의 배열에 있는 내용을 출력하려고 합니다.
$content=file("./aaa.txt"); function abc($sel) { echo("$content[$sel-1]; } echo("<select size=1 name=\"num\" onChange=\"abc(this.value)\"> <option selected>번호를 선택하세요</option> "); for($i=1; $i<=sizeof($content); $i++) { echo("<option value=\"$i\"> $i </option>"); } echo("</select>");
이런식으로 만들어 봤는데 안되네요.
어떻게 해야 하는지, php는 첨이라 도통 모르겠네요.
알려 주시면 감사하겠습니다.ㅠ
댓글 1
-
nikke
2009.12.03 06:27
-
에라크
2009.12.03 11:48
답변 감사합니다. 질문이 하나 더 있는데요, 스크립트 에서 php 에 있는 변수로 값을 넘겨 줄수 없나요? <script> 안에서 var str = <?=content?> 이렇게 접근 하면 에러가 나던데요.
저 역시 다른 언어쪽이 중점이라 php 는 입문단계인고로....
우선 제 기준으로 고쳐봤습니다.
가장 큰 건... 3번째 줄에 function 부분은 php 언어가 아니라 javacript 부분입니다.
해당 부분을 <script language='javascript'> </script> 로 감싸 주셔야 합니다.
<?
$content = array(3);
$content[0] = "동해물과 백두산이";
$content[1] = "마르고 닳도록";
$content[2] = "어쩌고 저쩌고~~~";
?>
<script language="javascript">
function abc(value) {
document.getElementById("divText").innerText = value;
var str = "";
str += "<table border='1' cellspacing='0' ceppading='+ '0' width='500'>";
str += "<tr>";
str += "<td width='50%'>선택된 값</td>";
str += "<td width='50%'>";
str += value;
str += "</td></tr></table>";
document.getElementById("divHtml").innerHTML = str;
}
</script>
<select name="selNo" onChange="abc(this.value)">
<option>번호를 선택하세요</option>
<?
for($i=0; $i<=sizeof($content); $i++) {
?>
<option value="<?=$content[$i]?>"><?=$content[$i]?></option>
<?
}
?>
</select>
<br><br><br><br>
<div id="divText"></div>
<br>
<div id="divHtml"></div>