2013-07-10 2 views
1

아래에 설명 된대로 클릭 된 요소의 내부 HTML을 PHP로 어떻게 사용할 수 있습니까?JavaScript에서 PHP로 데이터를 전송하는 방법은 무엇입니까?

$(function() { 
    $(".topic-list-items").click(function() { 
     // document.getElementById("content-of-the-topic").innerHTML= $(this).context.innerHTML; 
     <?php 
      $dbhost = '127.0.0.1'; 
      $dbuser = 'root'; 
      $dbpass = ''; 
      $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
      if (!$conn) { 
       die('Could not connect: '.mysql_error()); 
      } 

      // here I want to table name dynamically, that is, "SELECT id FROM table". $variable 
      $sql = "SELECT id FROM ";  
      //$ variable is the clicked element's innerHTML 

      mysql_select_db('entries_database'); 
      $retval = mysql_query($sql, $conn); 

      if (!$retval) { 
       die('Could not get data: '.mysql_error()); 
      } 
     ?> 
    }); 
}); 
+3

당신이 원한다면 당신은 내가 u는 JQuery와의 내부 - HTML을 얻을 수있는 PHP는 file.That의 응답을 얻기 위해 JQuery와 - 아약스 기능을 사용하는 것이 좋습니다 – Darvex

+0

를 PHP로 JS에서 일부 값을 전달하는 AJAX를 사용한다 함수를 생성하고 php 파일로 보냅니다. 그런 다음 일반적인 PHP 쿼리를 실행하고 쿼리 결과를 json 응답으로 json 응답으로 보냅니다. –

답변

2

당신은 당신의 PHP 스크립트에 AJAX 전화를 걸 및 데이터 매개 변수로 요소의 내용이 필요합니다.

data: {my_data: $(".topic-list-items").html()} 

또는 당신이 그들을 더있는 경우에, 당신은 $(this)를 사용하여 클릭 기능에서 내용을 잡을 수 있습니다

$(".topic-list-items").click(function() { 
     data: {my_data: $(this).html()} 
     ... 
}) 

은 그럼 당신은 $_POST['my_data'] 같은 것을 사용하여 PHP에서 액세스 할 수 있습니다.

$.ajax({ 
    type: "POST", 
    url: "my_php_script.php", 
    data: {my_data: $(".topic-list-items").html()} 
}).done(function(msg) { 
    alert("PHP says: " + msg); // you can do whatever you want here 
}); 

편집

그들이되지 않습니다으로 mysql_로의 * 기능 사용을 중지하십시오

다음은 예입니다. 여기를 참조하십시오 : http://www.php.net/manual/en/function.mysql-query.php

또한 입력을 필터링하여 SQL 주입에주의하십시오. (입력은 DOM 요소에서 왔지만 쉽게 데이터베이스 공격으로 변환됩니다.)

1

귀하의 PHP는 서버 측을 실행 중이며 JavaScript는 클라이언트 측을 실행 중입니다. 그 값을 PHP로 가져 오려면 서버에 다시 제출해야합니다.

아약스를 확인하십시오.

0

클라이언트 측 JScript 코드에 서버 측 PHP 코드를 넣고 실행시킬 수는 없습니다. 이것은 일반적으로 구현되는 방식이 아니지만 수행 할 수 있습니다.

이미 JQuery를 사용하고 있다면 jQuery.get()과 같은 AJAX functions을 사용하십시오. 이러한 함수가 어떻게 작동하는지 첫인상을 얻기 위해 jQuery.load()과 같은 속기 함수로 시작하는 것이 더 쉽습니다. 매뉴얼에도 좋은 예가 있습니다.

0

당신은 당신이 원하는대로에 값을 지정하여 HTML에 #hiddenElementId과 숨겨진 양식 요소를 추가 JQuery와 아약스 기능

//the get method 
$.get('file.php', function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
}); 

http://api.jquery.com/jQuery.get/

//the load function 
$('#result').load('file.php'); 

http://api.jquery.com/load/

0

를 사용할 수 있습니다 , 양식을 제출하십시오. 이것은 PHP 타겟에 매개 변수를 게시합니다.

var myInnerHTML; 
$(".topic-list-items").click(function() { 
     myInnerHTML= $(this).context.innerHTML; 
     $("#hiddenElementId").val(myInnerHTML); 
     $("#formId").submit(); 
} 
관련 문제