2016-11-29 2 views
0

страница1.php Я звоню page2.php (Lijst автомобилей или катеров) с использованием Ajax. Впоследствии я хочу отсортировать результаты, используя другой запрос Ajax.Сортировка каждого результата mysql с использованием Ajax

В 2 jqueries коды на page1.php:

function display_cars() { 
jQuery.ajax({ 
type: 'GET', 
url: 'page2.php?action=cars', 
success: function(msg) { 
$('#show_results').html(msg); 
} 
}); 
} 


function display_boats() { 
jQuery.ajax({ 
type: 'GET', 
url: 'page2.php?action=boats', 
success: function(msg) { 
$('#show_results').html(msg); 
} 
}); 
} 

На page2.php У меня есть MySQL запросов:

if ($action == "car") { 
$sql = "SELECT * 
FROM table 
WHERE cars = $cars 
ORDER BY date DESC 
"; 
} 



if ($action == "boats") { 
$sql = "SELECT * 
FROM table 
WHERE boats = $boats 
ORDER BY date DESC 
"; 
} 

Результаты этого MySQL Query:

Mercedes: 50

BMW: 10

HONDA: 20

Теперь я хочу, чтобы отсортировать каждый результаты по (ORDER BY DESC количества) с использованием Ajax.

Я думал об использовании сеансов php, но я не уверен, что это правильное решение.

+0

См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry

+0

@Strawberry Спасибо. Я только что сделал. Вы имеете в виду, что мой вопрос недостаточно ясен и что я должен добавить больше информации и объяснений? –

+0

Я думаю, что принятый ответ «мета-вопрос» не требует объяснений. – Strawberry

ответ

0

Вы можете назвать Аякса как этот

function sort_boats() { 
    var data = { 
     action:"boats", 
     sort:"desc" 
    } 
    jQuery.ajax({ 
    type: 'GET', 
    url: 'page2.php', 
    data:data, 
    success: function(msg) { 
    $('#show_results').html(msg); 
    } 
    }); 
    } 

в PHP попробовать это

if(isset($_GET['action'])&&isset($_GET['sort'])) { 
    $action = $_GET['action']; 
    $sort = $_GET['sort']; 
    $sql = "SELECT * 
    FROM table 
    WHERE boats = $action 
    ORDER BY date DESC , quantity $sort"; 
} 

Вы можете просто сделать это с помощью ORDER BY по количеству в вашем SQL запроса при условии, что это один из колонны вашей таблицы.

PS: используйте POST для лучшей безопасности.

+0

изменил мой ответ в соответствии с вашим вопросом, надеюсь, что это поможет. –

+0

Спасибо Vikram. Это не то решение, которое мне нужно. А если у меня есть +100 категорий (автомобили, лодки, ...)? Практически невозможно использовать отдельный код Ajax для каждого элемента. –

+0

** SELECT * FROM TABLE WHERE category = $ category ORDER BY date DESC ** вы можете это сделать. Вы должны также упомянуть _table_, в котором вы работаете, для получения более точных ответов. –

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