2013-08-15 2 views
0

Вот мой PHP функция:Отправки переменного Bootstrap модального

function displayrecords(){ 
$sql = "SELECT * FROM mytable"; 
$QueryResult = @mysql_query($sql) or die (mysql_error()); 
// more code... 

На данный момент, функция выводит перестраиваемые данные в таблице:

echo "<table class='table table-striped table-bordered table-hover'>\n"; 
while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE) { 

А вот где начинается вопрос :

echo "<tr><td><a class=\"open-EditRow btn btn-primary btn-mini\" 
    data-toggle=\"modal\" href=\"myEditModal\" id=\"".$Row[pk_tId]."\" 
    title=\"Edit this row\" \">Delete/Edit</a></td>"; 

Там более напечатаны td теги после этого, но вопрос передачи т он обращается к модальному окну. Мне сказали, что это можно сделать с прямым php и без javascript или ajax.

Это то, что код выглядит в модальный:

<div class="modal hide fade" id="myEditModal" tabindex="-1" role="dialog" 
    aria-labelleby="myModalLabel" aria-hidden="true"> 
<div class="modal-body"> 
<?php 
    $id = "<input type=\"text\" name=\"groupId\" id=\"groupId\" value=\"\" />"; 
    $sql = "SELECT resgroup FROM restable WHERE pk_tId = '" . $id . "'"; 
    $result = mysql_query($sql); 

Как вы заметили, то $sql читает $id как входной тег, и, следовательно, он не может найти идентификатор в базе данных, и таким образом, ничего не возвращает. Я знаю, что он начинается с метки привязки внутри эхо-таблицы выше.

Мне нужно использовать $_GET (или POST) в теге привязки, но я не знаю, где его поставить. Я предполагаю, что он должен идти в id=\"".$Row[pk_tId]."\", но как php уже используется в этом id?

Я визуальный человек, поэтому, если бы вы могли предоставить пример, я был бы благодарен.

ответ

1

Вам понадобится немного javascript для управления вашим модалом, зависит от того, какую кнопку вы нажали. Я думаю, что это решение поможет вам.

Во-первых, я предположил, что внутри вашего мода есть форма, и вы отправите ее с выбранным вами id. Модальный тело должно быть так:

<div class="modal-body"> 
    <form action="//your/path/to/php" method="post"> 
    <input type="hidden" name="selected_id" id="selected_id" /> 
    <input type="submit" name="commit" value="Confirm your action?" /> 
    </form> 
</div> 

Во-вторых, я думаю, вам следует удалить data-toggle свойство из ваших кнопок, добавьте еще один data-* свойство задерживать id и использовать явное яваскрипта вызов, чтобы показать свою модальность с немного обновления ,

кнопка должна быть эхо, как этого

echo "<tr><td><a class=\"open-EditRow btn btn-primary btn-mini\" data-id=\"".$Row[pk_tId]."\" title=\"Edit this row\" \">Delete/Edit</a></td>"; 

В Javascipt

$('.open-EditRow').click(function(){ 
    var selected_id = $(this).attr('data-id'); 
    $('#myEditModal #selected_id').val(selected_id); 
    $('#myEditModal').modal('show'); 
}); 

Теперь в файле PHP объявленного внутри формы в модальном - которая получает ваши почтовые данные, вы можете var_dump$_POST.

+0

Не могли бы вы предоставить мне образец var_dump и как я его использую? На данный момент, когда я нажимаю ссылку, модальное окно больше не открывается. – HoodCoderMan

+0

Я сделал это: $ id = var_dump ($ _ POST ['selected_id']); \t echo $ id; Он возвращает null. Зачем? – HoodCoderMan

+0

Функция 'var_dump ($ _ POST)' будет отображать содержимое массива '$ _POST'. Он используется только для отладки и просмотра того, что вы получили через сообщение.Вы должны использовать значение '$ _POST ['selected_id']' как '$ id = $ _POST ['selected_id']'; –

Смежные вопросы