2015-10-23 29 views
-1

我的網站上有一個畫廊,當用戶從下拉菜單中選擇一個選項(選項代表位置)時需要更改。AJAX php gallery

目前我有以下兩種選擇:

<select class="form-control" id="photomenu"> 
    <option value="Beckmouth Area">Beckmouth Area</option> 
    <option value="Barras Square area">Barras Square area</option> 
</select> 

我的jQuery的選擇選擇的值,並將其發送到我的AJAX請求,像這樣:

<script> 
       $(document).ready(function() { 

        $("#photomenu").change(function(){ 


         var option = $("#photomenu option:selected").val(); 


         var url = "access_database.php"; 

         $.post(url, option, function(data) 

          { 
           $("#staithes_gallery").html(data) 

          }); 


        }); 
        }); 
        </script> 

access_database.php樣子:

<?php 

$folder_location = $_GET["option"]; 

$path = "photos_staithes/Thumbnails/"; 

//connect to staithesbooks table 
$servername = "localhost"; 
$username = "***********"; 
$password = "***********"; 
$dbname = "*********"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql_select_photo = "SELECT * FROM `staithesphotos` WHERE `folder` = '$folder_location'"; 

$results = $conn->query($sql_select_photo); 

if ($results->num_rows > 0) { 
    // output data of each row 
    while($row = $results->fetch_assoc()) { 

     //create a list of all names and folder locations 
     $name[] = $row["name"]; 

    } 

     //create the photo gallery 
     for ($x=0; $x<count($name); $x++) 
     { 
      $photo_gallery .= "<div class='col-md-4 work-grid animated wow slideInLeft'> 
           <a href='$path$folder_lcation$name[$x]' data-lightbox='featured' data-title='' style='cursor:pointer'><div class='item'> 
            <img src='$path$folder_location/$name[$x]' height='431' width='594' title='name' /> 
            <div class='caption' style='display: none;'> 
             <h2>Some Title</h2> 
             <p>This is a caption to end all captions</p> 
            </div> 
           </div> 
          </a></div>";  
     } 

}; 


echo $photo_gallery; 

?>

我已經測試PHP的工作原理是爲$folder_location提供一個靜態文件位置。

在執行AJAX call後,我希望用新庫更新#staithes_gallery中的html。

通過測試並將結果輸出到警告框,我只需接收對象Object。我不確定我做錯了什麼。

任何幫助將不勝感激!

+0

等等,這裏你真正的問題是什麼?你無法得到PHP返回的請求或$'folder_location'值或查詢的任何問題? – DontVoteMeDown

+0

我不確定問題出在哪裏。 jquery只是返回對象Object而不是新的HTML文本。我已經單獨測試了每個組件,並且似乎可行。我不確定這個值是不是正確的PHP或從PHP返回的數據是錯誤的 – Jimmybob

+0

設置'$ sql_select_photo'後'把'echo $ sql_select_photo;退出;'並直接在瀏覽器中調用URL。然後在你的數據庫中檢查你的查詢。 – DontVoteMeDown

回答

0

好的,我有它的工作。

我不得不使用的.html(),而不是.VAL()

謝謝!