2013-07-10 2 views
1

Как использовать внутренний HTML-код элемента clicked в 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

Вы должны использовать AJAX, если вы хотите, чтобы передать некоторые значения из JS в PHP – Darvex

+0

Я предлагаю U использовать JQuery-АЯКС функцию, чтобы получить ответ от PHP file.That будет получить внутрипартийную HTML в JQuery и отправить его в файл php. Затем запустите свой обычный php-запрос и отправьте результат запроса в функцию jquery как ответ json. –

ответ

2

Вам нужно сделать AJAX вызов на PHP скрипт и иметь содержимое вашего элемента в качестве параметра данных.

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

Или, если у вас есть несколько из них, вы можете получить содержимое из функции мыши с помощью $(this):

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

Тогда вы можете получить к нему доступ из PHP, используя нечто вроде $_POST['my_data'].

Вот пример:

$.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 
}); 

EDIT

И, пожалуйста, прекратите использование mysql_ * функции, поскольку они являются устаревшими. См. Здесь: http://www.php.net/manual/en/function.mysql-query.php

Также обратите внимание на SQL-инъекцию, фильтруя любые входы (хотя вход поступает из элемента DOM, он легко преобразуется в атаку базы данных).

1

Ваш php работает на стороне сервера, javascript работает на стороне клиента. Если вы хотите получить эти значения для php, вам нужно будет отправить их обратно на сервер.

Отметьте ajax для этого.

0

Вы не можете просто поставить php-код на стороне сервера в код JScript на стороне клиента и ожидать его выполнения. Это можно сделать, хотя обычно это не так, как это реализовано.

Если вы уже используете JQuery, пожалуйста, начните с использования AJAX functions, например jQuery.get(). Может быть проще начать с сокращенных функций, таких как jQuery.load(), чтобы получить первое впечатление о том, как работают эти функции. В руководстве также есть некоторые примеры.

0

Добавить скрытый элемент формы с #hiddenElementId в вашем HTML затем присвоить значение, что вам нравится , и отправьте форму. Это приведет к отправке параметра в вашу целевую программу php.

var myInnerHTML; 
$(".topic-list-items").click(function() { 
     myInnerHTML= $(this).context.innerHTML; 
     $("#hiddenElementId").val(myInnerHTML); 
     $("#formId").submit(); 
} 
Смежные вопросы