2013-11-27 4 views
0

У меня есть раскрывающееся меню, созданное из записей в базе данных. Мне нужно сделать, чтобы показать определенный контент на основе выбранной записи в меню. Итак, если я выбираю «Яблоки» в меню, я могу написать запрос, чтобы вытащить информацию «Apple» из базы данных, и содержимое div отобразит эту информацию. «Апельсины» напишу запрос «Апельсины», а затем покажу информацию об апельсинах.Отображается динамически построенный div

В идеале, мне нужен индекс выбранного пункта меню. Но поскольку я не представляю какую-либо форму, я не могу получить информацию от $_POST переменных. Я мог бы получить его через jQuery или Javascript, но мне нужно его для обработки другого оператора MySQL.

Поскольку я не знаю информации в меню, я не могу настроить конкретный div s для показа содержимого.

Надеюсь, это имеет смысл! Спасибо за любую помощь.

+2

могли бы не использовать метод .Кнопкой JQuery в? Когда значение выпадающего значения изменяется, отправьте сообщение ajax, чтобы получить данные. –

+0

Я не знаком с AJAX. Мои поиски часто упоминались об этом, и я боялся, что это сойдет на меня, пытаясь понять, как это сделать. –

+0

Если вы хотите сделать это, вам нужно укусить пулю и изучить AJAX. – Barmar

ответ

0

Вы хотите создать асинхронный вызов. Вы хотите, чтобы JavaScript был сгенерирован при изменении формы для совершения вызова на сервер. На сервере вы выполняете SQL-запрос и возвращаете его в машиночитаемом формате, таком как JSON, или просто создаете div на сервере. Когда JavaScript получает ответ от сервера, он может анализировать содержимое и вставлять его на страницу.

0

Я чувствую вам нужен пример

Jquery:

$('select').change(function(){ 
     var myfruit = $(this).val(); // apple, orange 

     $.ajax({ 
      "url": yourphpfile.php, 
      "type": "POST", 
      "data":{"fruit":myfruit}, 
      }).success(function(response) { 
      // response is what we get back from php 

       for(var i in response){ 
        $('#div').append(response[i]['fruit']; 
       } 
     }); 
    }); 

PHP

if(isset($_POST['fruit'])){ 
    $sql = "SELECT * FROM fruits WHERE fruit = '{$_POST['fruit']}'"; 
    // do something with your query, and get a result; 
    echo json_encode($result); // this gets sent to your jquery 
    die; 
} 
+0

Итак, $ _POST работает, хотя форма не отправляется ?? –

+0

да точно. это точка ajax – hamobi

Смежные вопросы