2013-07-12 5 views
0

알아, 나도 알아. 위의 제목에서, 당신은 아마 내가 묻고있는 세계에서 무엇이 궁금해 할 것입니다. 내가 붙어서 이것을 알아낼 수 없기 때문에 좀더 쉽게 해보도록하겠습니다. 그래서 여기에 간다 ..............PHP 목록에서 항목을 클릭 한 후 div에 외부 페이지로드

나는 사용자가 게시 된 뉴스 항목의 목록을 볼 수있는 내 사이트에있다. 모든 뉴스 항목은 MYSQL 데이터베이스에 나열되어 다음과 같이 PhP를 사용하여 검색하고 페이지에 표시됩니다.

$sql_list = "SELECT * FROM LatestMusic WHERE active = 'y' ORDER BY lm_id DESC"; 
$sql_list_result = mysql_query($sql_list,$connection) or die ('Could not select the List of Latest Music Entries'); 

$bgc = "FFC6C6"; 
while($list_data = mysql_fetch_array($sql_list_result)){ 
    if ($bgc == "FFC6C6") { 
     $bgc = "FFFFFF"; 
    } else { 
     $bgc = "FFC6C6"; 
    } 
print "<tr bgcolor=\"#" .$bgc. "\">"; 
print "<td align=\"center\" width=\"44\">"; 
print "<a href=\"#\" onclick=\"loadXMLDoc()\"><img src=\"/images/b_edit.png\" border=\"0\"></a>"; 
print "</td>"; 
print "<td align=\"center\" width=\"63\">"; 
print "<img src=\"/images/b_drop.png\" border=\"0\">"; 
print "</td>"; 
print "<td align=\"left\" style=\"padding-left: 15px;\">"; 
echo $list_data[1]; 
print "</td>"; 
print "</tr>"; 
} 

그 부분은 얻을 수 있습니다. 거기에서 사용자가 데이터베이스에서 나열된 항목 중 하나를 클릭하면 로딩하지 않고 동일한 페이지에 DIV 안에로드 할 외부 PHP 페이지가 필요합니다.

<script> 
function loadXMLDoc() { 
    var xmlhttp; 
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("myDiv").innerHTML = xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET", "YSMhome_LMeditform.php", true); 
    xmlhttp.send(); 
} 
</script> 

내가 페이지 리로딩없이 DIV에 잘로드 할 외부 페이지를 얻을 수 있습니다 : 나는 그런 작업을 달성하기 위해 같은 페이지에 머리글에서이 코드를 사용하고 있습니다. 내가 겪고있는 문제는 다음과 같습니다.로드되는 페이지는 양식 필드가있는 양식이어야합니다. 사용자가 데이터베이스에서 목록의 항목을 클릭하면 DIV에로드되는 외부 페이지로 목록에있는 변수를 전달해야합니다 (내가 입력 한 항목을 클릭하면 해당 변수를 미리 채울 수 있습니다) 데이터가 전송되는 양식 필드 그것이 내가 알 수없는 부분입니다.

누구든지 나를 도와 줄 수 있다면 크게 감사하겠습니다. 저는 AJAX를 처음 사용합니다 (이것은 처음 시도한 것입니다). 그러나 이것이 작동하도록하기 위해 내가 필요한 것을 배우고 싶습니다.

답변

0

ajax 함수를 호출하면 관련 정보를 전달해야합니다. 귀하의 예제에서는, 당신은 변경해야합니다 :

onclick=\"loadXMLDoc()\" 

뭔가에 (이 $list_data[0] 단순에 대한 정수라고 가정)과 같은 :

:

onclick=\"loadXMLDoc({$list_data[0]})\" 

그리고 자바 스크립트, 함수 정의는 같을 것

function loadXMLDoc(id) 

나중에, 당신은 같은에 호출되는 URL을 변경할 수 있습니다 :

"YSMhome_LMeditform.php?id=" + id 

그러면 "YSMhome_LMeditform.php에 ID가 $_GET['id']으로 표시됩니다.

+0

@jeroen 빠른 응답 주셔서 감사합니다. 나는 모든 변화를 만들었다. (그리고 그것은 나에게도 이상하다. ..... 어느 쪽이 이상한가 .... LOL이다.) 그러나 나는 여전히 ID 변수를로드중인 외부 페이지로 전달하지 못하고있다. 제 추측은 많은 것을 설명하지 못하는데 문제는 "YSMhome_LMeditform.php? id ="+ id입니다. 이것은 내 생각에 단지 추측이지만, 우리는 이것이 작동하도록 가까이에 있다는 것을 느낄 수 있습니다. 다시 한번 감사드립니다. – user2574777

+0

@ user2574777 요청하기 바로 전에'id'의 값을 확인할 수 있습니까? – jeroen

+0

이것은 바보 같은 질문 일지 모르지만이 자료를 처음 접했을 때 ID의 가치를 어떻게 확인할 수 있습니까? 내가 온라인으로 시도했을 때 할 수 있었던 일은 작동하지 않았다. 나는 소스 코드를 보았고, 그 값이 PHP 코드에서 함수로 전달되고 있음을 알 수 있었다. 내가 알고있는 것은 작동 중이고, 나는 함수 내에서 그 값에 무슨 일이 일어나는지 확인하는 방법을 모르겠습니다. 말이 돼? – user2574777

관련 문제