PHP/Ajax /jQuery — передача значения jquery в php-скрипт

У меня есть страница bookings.php, на которой есть jqgrid, отображающий все заказы, сделанные онлайн. Когда вы дважды щелкаете строку, открывается диалоговое окно jq, в котором отображаются все подробности о бронировании. Кроме того, когда вы дважды щелкаете, у меня есть определенная переменная, которая является ссылкой на бронирование, которую я хочу передать в php-скрипт:

var brData = rowData['bookref'];

Я отправляю эту переменную через ajax:

function getGridRow(brData) {

   $.ajax({

    // Request sent from control panel, so send to cp.request.php (which is the handler)
    url: 'scripts/php/bootstrp/all.request.php',
    type: 'GET',

    // Build data array - look at the '$_REQUEST' parameters in the 'insert' function
    data: {


        //ft: "getDGRow",
        rowdata: 'fnme=getDGRow&row_data='+brData,
        data: brData,

        // Either pass a row id as the 'id' OR a where clause as the 'condition' never both
        id: null,
        condition: null
    },
    dataType: 'text',
    timeout: 20000,
    error: function(){
        alert("It failed");
        $('#cp-div-error').html('');
        $('#cp-div-error').append('<p>There was an error inserting the data, please try again later.</p>');
        $('#cp-div-error').dialog('open');
    },
    success: function(response){

        // Refresh page

       // response = brData;
       // alert(response);

    }
});


}

Вот случай переключения для all.inc .php:

case 'getDGRow':
//header('Content-type: text/xml');
DatagridController::getGridRow($_REQUEST['rowdata']);
break;

Это PHP-функция, которой я отправляю переменную jquery для использования в моем PHP-коде:

public static function getGridRow($rowdata) {

    $rowdata = $_GET['data'];
    echo $rowdata;

    $pdo = new SQL();
    $dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);

    try {

        $query = ("SELECT * FROM tblbookings WHERE bookref = '$rowdata'");

        $stmt = $dbh->prepare($query);

        $stmt->execute();

        $row = $stmt->fetch(PDO::FETCH_BOTH);

        BookingDocket::set_id($row['id']);
        BookingDocket::set_bookref($row['bookref']);
        BookingDocket::set_bookdate($row['bookingdate']);
        BookingDocket::set_returndate($row['returndate']);
        BookingDocket::set_journeytype($row['journeytype']);
        BookingDocket::set_passtel($row['passengertel']);
        BookingDocket::set_returndate($row['returndate']);



        $stmt->closeCursor();

    }

    catch (PDOException $pe) {
        die("Error: " .$pe->getMessage(). " Query: ".$stmt->queryString);
    }

    $dbh = null;

}


}

Я поместил echo $rowdata; в функции PHP, чтобы увидеть, передается ли переменная, как я вижу «BR12345» в консоли firebug. Проблема в том, что этот запрос:

 $query = ("SELECT * FROM tblbookings WHERE bookref = '$rowdata'");

не дает никаких результатов. Если бы я сказал:

 $query = ("SELECT * FROM tblbookings WHERE bookref = 'BR12345'");

он получает нужные мне результаты, поэтому я не могу понять, почему этот запрос не работает, когда переменная brData передается в $rowdata

Есть предложения?

6
задан nsilva 8 June 2012 в 08:38
поделиться