Проблема:
Я хотел бы передать с помощью jQuery значение в атрибуте link для PHP / SQL-запроса.
Код HTML:
<a data-toggle="modal" href="#myModal" id="1"><i class="pull-right icon-eye-open"></i>HTML</a>
PHP-код:
<div id="myModal" class="modal hide fade"> <div class="modal-header"> <button class="close" data-dismiss="modal">×</button> <h3>Title</h3> </div> <div class="modal-body"> <?php $query = "SELECT * FROM table WHERE id = ID FROM JQUERY HERE"; $result = mysql_query($query) or die ('Error (' . mysql_errno() . ') ' . mysql_error()); ?> </div> <div class="modal-footer"> <a href="#" class="btn btn-info" data-dismiss="modal" >Close</a> </div> </div>
Сценарий:
Когда пользователь нажимает элемент link, который имеет функцию-toggle = "modal", тогда jQuery должен принимать значение id-attribute (которое в этом случае равно 1) и отправлять его в SQL-запрос, чтобы SQL-запрос выглядит как:
$query = "SELECT * FROM table WHERE id = 1";
Код jQuery:
$("a[data-toggle=modal]").click(function(){ var essay_id = $(this).attr('id'); //Find $essay set it to essay_id in PHP //Alternatively create a $_SESSION['EID'] here });
Вопрос:
Как использовать jQuery для установки переменной ($ essay) в PHP? или как я могу создать переменную сеанса в PHP через jQuery?
вот решение,
<a href="#" id="1" class="push">click</a>
используйте div на вашем модальном теле, как это
<div class="modal-body"> <div class="something" style="display:none;"> // here you can show your output dynamically </div> </div>
теперь поместите данные в .something
с вызовом ajax .please проверьте http://api.jquery.com/jQuery.ajax/, чтобы узнать больше о jquery ajax.
$(function(){ $('.push').click(function(){ var essay_id = $(this).attr('id'); $.ajax({ type : 'post', url : 'your_url.php', // in here you should put your query data : 'post_id='+ essay_id, // here you pass your id via ajax . // in php you should use $_POST['post_id'] to get this value success : function(r) { // now you can show output in your modal $('#mymodal').show(); // put your modal id $('.something').show().html(r); } }); }); });
-$(function(){ $('.push').click(function(){ var essay_id = $(this).attr('id'); $.ajax({ type : 'post', url : 'your_url.php', // in here you should put your query data : 'post_id='+ essay_id, // here you pass your id via ajax . // in php you should use $_POST['post_id'] to get this value success : function(r) { // now you can show output in your modal $('#mymodal').show(); // put your modal id $('.something').show().html(r); } }); }); });
Окончательное решение
Код HTML:
<div id="myModal" class="modal hide fade"> <div class="modal-header"> <button class="close" data-dismiss="modal">×</button> <h3>Title</h3> </div> <div class="modal-body"> <div id="modalContent" style="display:none;"> </div> </div> <div class="modal-footer"> <a href="#" class="btn btn-info" data-dismiss="modal" >Close</a> </div> </div>
Код jQuery:
$("a[data-toggle=modal]").click(function() { var essay_id = $(this).attr('id'); $.ajax({ cache: false, type: 'POST', url: 'backend.php', data: 'EID='+essay_id, success: function(data) { $('#myModal').show(); $('#modalContent').show().html(data); } }); });