2013-04-02 2 views
0

동적으로 생성 된 dorpdown 목록을 포함하는 html 양식이 있습니다. 드롭 다운 목록에는 내 MySQL 데이터베이스에 저장된 뉴스 레터의 이름이 포함됩니다. 드롭 다운 목록에서 원하는 것은 : 뉴스 레터를 선택하면 다른 PHP 스크립트가 활성화되어 내 DB의 뉴스 레터에서 데이터를 가져 와서 .txt 파일에 씁니다. 내가 현재 가지고있는 코드는 다음과 같습니다선택 옵션을 변경하면 스크립트 실행

드롭 다운 목록 :

<?php 
    echo "<select id=\"NieuwsbriefSelect\" name=\"show\">"; 
    echo "<option size =30 selected>Select</option>"; 
    if(mysql_num_rows($sql_result)) 
    { 
    while($row = mysql_fetch_assoc($sql_result)) 
    { 
    echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
    } 

    } 
    else { 
    echo "<option>No Names Present</option>"; 
    } 
?> 

그리고 쓰기 스크립트

<?php 
$title = $_REQUEST["show"]; 
mysql_connect('localhost','root','root'); 
mysql_select_db('NAW') or die (mysql_error()); 
$strSQL = "SELECT Content from NAW.Mail where Titel = '$title' "; 

$sql_result = mysql_query($strSQL); 

$row = mysql_fetch_assoc($sql_result); 


$file = 'nieuwsbrief.txt'; 

$current = $row["Content"]; 

file_put_contents($file, $current); 
?> 

내가 페이지를 쓰기 스크립트로 리디렉션하고 싶지 않지만 그냥 실행 그것 (나는 당신이 이것을 얻길 바랍니다 ^^). HTML onChange 이벤트를 사용하여이 작업을 수행 할 수 있습니까? 아니면 자바 스크립트를 사용해야합니까? 어떤 도움을 주면 좋을 것입니다. 내 코드에 대한 질문이 있으면 의견을 물어보십시오!

참고!
나는 Mysql_ *을 사용하면 안된다는 것을 알고있다. 그리고 나는 SQL injection에 취약하지만 그 점은 중요하지 않다. 당신이 요구하는 것은 아니다

+0

기술적으로 HTML onChange 이벤트는 자바 스크립트입니다. 어쨌든, 아마도 당신이 선택한 아이템이 바뀔 때 Javascript 함수를 호출함으로써이 일을 쉽게 할 수있을 것입니다. 그 함수에서 apropiate 매개 변수를 사용하여 PHP 스크립트를 호출 할 수 있습니다. 나는 당신이 이미 SQL-Injections에 취약하다는 사실을 당신이 알고 있다는 것을 이미 언급했음을 알고 있습니다.하지만 개발 중에이 사실을 명심해야합니다. 응답을 위해 – FLClover

답변

0

당신은 당신의 선택 옵션에 onchange를 이벤트를 정의하고이 onchange를 이벤트 내에서 사용자가 선택한 항목과 다른 페이지로 리디렉션 할 수 있습니다 또는 다른 PHP 스크립트 불행하게도

0

에 AJAX 호출을 할 필요 자바 스크립트없이 가능하다. PHP은 서버 측 언어이므로 클라이언트 측 브라우저에서 호출하지 않아도 실행할 수 없습니다. ajax을 JavaScript onchange 이벤트와 함께 사용하는 것이 가장 좋습니다. 변경 이벤트가 발생하면 선택한 옵션으로 스크립트를 실행하기 위해 서버로 아약스 호출을 시작하십시오. 이는 페이지를 새로 고침하거나 리디렉션하지 않고 요청한 작업을 수행하는 유일한 방법입니다.

+0

Thnx! 나는 AJAX를보고 내가 얼마나 멀리 얻을 수 있는지 보게 될 것이다. ^^ – Daanvn

관련 문제