从查询传递模态ID,以便可以在另一个查询中使用它

时间:2015-01-11 16:09:34

标签: javascript php mysql sql bootstrap-modal

我想知道如何在模态上传递所选的id。

下面我有一个位于表格内的代码:

<a type='button' id='seemore' data-toggle='modal' idNum='".$row['marriage_id']."' 
data-target='#see_more'  class='glyphicon glyphicon-eye-open'></a>

$row['marriage_id']来自我的第一个查询。

我希望我可以使用idNum($row['marriage_id'])中的值,以便我可以在第二个查询中使用它。

我想在此查询中使用它。

SELECT * FROM marriage WHERE marriage_id = idNum

,结果将是第一个查询中选定的id,它将是第二个查询中where子句的参数。

1 个答案:

答案 0 :(得分:2)

此示例使用异步数据加载。用户单击该按钮并将请求发送到服务器,当服务器响应时,执行程序的下一位。在你的情况下打开一个带有婚姻数据的模态。该系统的优点是用户可以在解决请求时继续使用您的网页。

使用onclick事件更新HTML中的链接。

<a type='button' id='seemore' data-toggle='modal' idNum='".$row['marriage_id']."' 
data-target='#see_more' onclick='sendRequest(this.idNum)' 
class='glyphicon glyphicon-eye-open'> </a>

使用以下功能为您的页面添加脚本块。

JavaScript的:

function sendAjax(id, e) {
var xmlhttp;
xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 ) {
       if(xmlhttp.status == 200){
           //request is complete and loaded
           //open the modal dialog or update it.
       }
       else if(xmlhttp.status == 400) {
          alert('There was an error 400')
       }
       else {
           alert('something else other than 200 was returned')
       }
    }
}

xmlhttp.open("POST", "file.php", true); //true means asynchronously.
xmlhttp.send("idnum="+id);
}

id作为post var发送到服务器。将file.php替换为您自己的php文件。在该php文件中,您执行查询并将echo响应显示为 xml JSON

//open the modal dialog or update it.:在此行下方,您可以检索数据。该行位于事件处理程序中,用于检查数据是否已加载。由于服务器在此if子句中使用200进行响应,因此我们可以假设存在响应。如果 JSON 使用JSON.parse(this.responseText)。如果 xml 使用this.responseXML