2015-08-19 106 views
1

如何將不同的id使用ajax傳遞到不同的php文件上,以便它可以用於mysql查詢。 我已經使用過會話,但因爲我正在使用while語句來創建分部,因此使用會話時它只傳遞最後一個div的值 因此,任何可能的方法都是通過ajax來完成的?如何使用ajax將變量傳遞給另一個php文件onclick

回答

0
$("button").click(function(){ 
    var yourid = "some id"; 
    $.post("your_file.php", {data: yourid}, function(result){ 
     $("span").html(result); 
    }); 
}); 

嘗試一些谷歌的下一次...... http://www.w3schools.com/jquery/ajax_post.asp

0

與jQuery

$.ajax({ 
    type:"POST", 
    url:"r_pdf_BioChem.php?q="+<?php echo $PHPVAR1 ?>+"&q1="+<?php echo $PHPVAR2;?> 
    . 
    . 

或 經過HTML元素的值ONCLICK功能

對於JavaScript

HTML

<input type='button' name='btn1' id='btn1' value='Proceed' onclick='onclick_fun_for_ajax(ele1.value,ele2.value);'> 

JAVASCRIPT

function onclick_fun_for_ajax(nmbr,year) 
    { 


     xmlHttp=GetXmlHttpObject(); 
     if (xmlHttp == null) 
     { 
       alert ("Browser does not support HTTP Request"); 
       return; 
     } 

     var url="target_php.php"; 
      url=url+"?q="+nmbr; 
      url=url+"&q1="+year; 
      url=url+"&sid="+Math.random(); 

     xmlHttp.onreadystatechange=stateChanged; 

     xmlHttp.open("POST",url,true); 
     xmlHttp.send(null); 
    } 
    function stateChanged() 
    { 
      var zdivid="fetched_result"; 
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") 
      { 
        document.getElementById(zdivid).innerHTML=xmlHttp.responseText; 
      } 
    } 
    function GetXmlHttpObject() 
    { 
      var xmlHttp=null; 
      try 
      { 
        //Firefox, Opera 8.0+, Safari 
        xmlHttp=new XMLHttpRequest(); 
      } 
      catch (e) 
      { 
        //Internet Explorer 
        try 
        { 
          xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) 
        { 
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
      } 
      return xmlHttp; 
    } 
0

像這樣:

// Init click event 
$('#your_button').click(function(e) { 
     e.preventDefault();    
     save(); // Function that sends the ajax request 
    }); 
function save() { 
    var myvar1 = $('div#select_your_datas'), 
     myvar2 = $('div#select_your_datas2'); 
    $.ajax({ 
      url: 'path/to/php.php', // File that does sql stuff 
      type: 'POST', 
      data: { myvar1: myvar1, // Before colon is the object property. After the colon is the value 
        myvar2: myvar2 
        }, 
      success:function(dataFromAjaxResponse, typeFromAjaxResponse) { 
       alert('ajax success'); 

      }, 
      error: function(dataFromAjaxResponse) { 
       alert('ajax error'); 
       console.log(dataFromAjaxResponse); 
      } 
     }); 
} 
<?php 
$myvar1 = $_POST['myvar1']; 
$myvar2 = $_POST['myvar2']; 
// Do your SQL stuff 
0

基本上,你想要的是一個PHP腳本處理的請求。就像這樣:

// Search.php 
$id   = (isset($_GET['id']) ? $_GET['id'] : null); 
$response = array(); 

if(!is_null($id) && is_numeric($id)) 
{ 
     $query = $db->prepare('SELECT * FROM users WHERE id = :id'); 
     $query->execute(array("id" => $id)); 

     $response["Error"] = false; 
     $response["Users"] = $query->fetchAll(); 

} else { 
    $response["Error"] = true; 
    $response["Message"] = "No Id specified or id not numeric."; 
} 

print json_encode($response); 

在您的客戶端代碼,您希望您的AJAX是,你需要一個表單和一個JavaScript方法來處理的形式,將其發送異步到的search.php腳本。一個例子可以是

// SearchForm.php 
<form> 
    <input type="text" id="IdInput" /> <input type="button" id="searchButton" /> 
</form> 

<script type="text/javascript"> 
    $(function() 
    { 
     $('#searchButton').click(function() 
     { 
      var query = $('#IdInput').val(); 

      $.getJSON('/Search.php?id=' + query, function(response) 
      { 
       if(response.Error == false) 
       { 
        console.log(response.Users); 
       } else { 
        alert(response.Message); 
       } 
      }); 

     }); 
    }); 
</script> 
相關問題