将Javascript全局变量传递给PHP

时间:2014-10-09 17:58:46

标签: javascript php jquery

我在将js全局变量传递给PHP时遇到问题,因此我可以查询我的数据库以获取更多数据。我点击加载模态的链接设置了js变量。在此示例中,变量为“id3”。我需要将它传递给php,所以我可以将它包含在我的where语句中。谢谢!

JavaScript的:

<script>
$("#cluster_profiles_dataTables").on("click", "a", function() {
   id3 = $(this).attr('id');
   document.querySelector('#clusterprofiletitlepulse').innerHTML = '<h4 class="modal-title" id="pulse">Profile Status' + ' (' + id3 + ')</h4>';
   document.querySelector('#clusterprofilepulsetable').innerHTML = '<i class="fa fa-long-arrow-right"></i> '+ id3 + ' Additional Anomalies';
    $('#cluster_profile_pulse_table').dataTable( {
     "sAjaxSource": "../scripts/cluster_profile_pulse_table.php?val=" + id3,
});

}); 
$('#clusterprofileanomalies').on('hidden.bs.modal', function () {
   $('#cluster_profile_pulse_table').dataTable().fnDestroy();
 });
</script>

PHP:

<?php
if (isset($_GET['id3'])) $id3 = $_GET['id3'];
$sql = "SELECT PROFILE_ATTACHED FROM <databasehidden> WHERE CLUSTER_NAME = '".$id3."'";
$stmt = sqlsrv_query( $conn, $sql );
    if( $stmt === false) {
        die( print_r( sqlsrv_errors(), true) );
    }

    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
    echo'<tr class="'.$class.'">
    <center>'.$row['PROFILE_ATTACHED'].'</center>
    </tr>';
    }

?>

2 个答案:

答案 0 :(得分:1)

由于您的ajax来源是:

 "sAjaxSource": "../scripts/cluster_profile_pulse_table.php?val=" + id3,

id3存储在val(val = id3)中。所以 您必须使用此代码来获取值:

if (isset($_GET['val'])) $id3 = $_GET['val'];

答案 1 :(得分:-2)

您必须在此模式下编写变量:

var id3 = $(this).attr('id');