Получите MySQL Record, используя Php & JQuery - PullRequest
1 голос
/ 19 апреля 2011

Вот мой сценарий:

У меня есть выпадающее меню с разными значениями. Когда выбрана опция 'A', я хочу использовать JQuery для вызова скрипта Php. Этот сценарий Php сделает запрос к базе данных, который возвращает идентификатор записи. Когда этот идентификатор записи возвращается в javascript, javascript направит браузер на определенный URL на основе возвращенного идентификатора (т.е. / products / $ ID )

Прямо сейчас у меня так, что выпадающее меню запускает функцию javascript. У меня также есть скрипт Php, который работает с базой данных. Я просто не уверен, что должно идти в функции javascript, или как сделать так, чтобы она соединялась со сценарием Php, и как я получаю возвращаемые данные (и как обращаться с типом возврата - xml, html и т. Д.) *

Я использую библиотеку JQuery и Php 5.x.

Ответы [ 2 ]

2 голосов
/ 20 апреля 2011

Простой пример - взять форму, подобную

Example.php

<form id="form" name="form">        
    <select name="dropdown" id="dropdown">
        <option value="A">A</option>
        <option value="B">B</option>
        <option value="C">C</option>
        <option value="D">D</option>
    </select>

    <input type="submit" id="submit" name="submit" value="Submit!" />
</form>

Затем связать ее с некоторым JQuery для перехвата формы и отправить в файл PHP

JQuery.js

$(document).ready(function(){
    $("#dropdown").change(function(event) {
        $.ajax({
            type: "POST",
            url: "query.php",
            data: $('#form').serialize(),
                datatype: "json",
            success: function(data){
                var ret = jQuery.parseJSON(data);
                    // Redirect to ret.link
            }
    });
    event.preventDefault();
    });
});

Затем создайте файл PHP для его интерпретации

query.php

$stmt = $sql->dbh->prepare("SELECT `Link` FROM `Links` WHERE `ID` = :id");

$stmt->bindValue(':id', $_POST['dropdown']);

$stmt->execute();

$link = $stmt->fetch()['Link'];

echo json_encode(array('link' => "{$link}"));

die();
1 голос
/ 20 апреля 2011
$("#menu-item").click(function() {

    jQuery.ajax({
        type: "POST",
        url: "yourScript.php",
        data: "data=foo",
        success: function(response){
            //redirect to id using response
            window.location.replace("http://yoursite.com/products/" + response);
        }
    });

});

Конечно, это нужно будет адаптировать к вашей уникальной ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...