2014-02-27 89 views
0

我是ajax中的一个完整的新手,但我读到Ajax是从jQuery存储变量并将其发回PHP以使用它的唯一方法。发送jQuery变量返回到PHP并在mySQL中使用

正如你可以看到在这个例子,我有一个下拉列表从MySQL数据库填充:

$query = "SELECT * FROM my_gallery"; 
$execute = mysqli_query($link, $query); 

$results = mysqli_num_rows($execute); 

if ($results!=0) { 
    echo '<label>The galleries are: '; 
    echo '<select id="galleries" name="galleries">'; 
    echo '<option value=""></option>'; 

    for ($i=0; $i<$results; $i++) { 
     $row = mysqli_fetch_array($execute); 
     $name = htmlspecialchars($row['galleryName']); 

     echo '<option value="' .$name. '">' .$name. '</option>'; 
    } 
    echo '</select>'; 
    echo '</label>'; 
} 

使用jQuery我添加选定的属性:

$('#page').change(function(e) { 
    e.preventDefault(); 
    var selectedOption = $(this).find('option:selected'); 
    $('#page option').removeAttr('selected'); 
    $(selectedOption).attr('selected','selected'); 
    var selectedOptionValue = $(selectedOption).val(); 
    var selectedOptionText = $(selectedOption).text(); 


    alert("You selected " + selectedOptionText + " Value: " + selectedOptionValue); 
}); 

jsFiddle to see it in action

如何将所选选项存储在变量中并将其发送回PHP?从来没有使用ajax,所以请尽可能详细和耐​​心! :)

+0

你有什么需要把它送回来到PHP的,到底是什么? –

+0

添加了'selected =“selected''属性的'option value ='。 – Mark

+0

[__learn jQuery ajax on here https://api.jquery.com/jQuery.ajax/__](https://api.jquery.com/jQuery.ajax/) –

回答

2

我更新您的jsfiddle

http://jsfiddle.net/sQ7Y9/2/

基本上你将需要添加吨他对你的代码:

$.ajax({ 
     url: 'your url', //the url that you are sending data to 
     type: 'POST', //the method you want to use can change to 'GET' 
     data: {data : selectedOptionText}, //the data you want to send as an object , to receive in on the PHP end you would use $_POST['data'] 
     dataType: 'text', //your PHP can send back data using 'echo' can be HTML, JSON, or TEXT 
     success: function(data){ 
     //do something with the returned data, either put it in html or you don't need to do anything with it 
     } 
}); 
1

如果你想在change事件发送Ajax请求,然后尝试

$('#galleries').change(function() { 
    var selected = $(this).val(); // getting selected value 
    $.ajax({ 
     url: "upload.php", // url to send ajax request 
     type: "POST", // request method 
     data: {selected: selected}, // passing selected data 
     success: function(data) { // success callback function 
      alert(data); // the response data 
     } 
    }); 
}); 

在你upload.php

<?php 

$selected=$_POST['selected']; //getting the selected value 
//other code  
echo "your result"; 

?> 
2

随着一些jQuery的

$.ajax({ 
    type: "GET", 
    url: "some.php", 
    data: "a="+$('#galleries option').filter(':selected').text()+"&b=someval", 
    beforeSend: function() { }, 
    success: function(html){ 
    $('#content').html(html); 
    } 
}); 

..和PHP

echo "a = ". $_GET['a'];