2014-02-13 4 views
0

Я ужасный любитель и не совсем понимаю процессы PHP.PHP Получить VS jquery.load/ajax

У меня есть сайт корзины покупок, который я хотел бы изменить некоторые функции и добавить некоторые улучшения удобства использования.

На главной странице продукта пользователь может добавить товар в корзину. На этой же странице продукта пользователь также увидит, как добавить элементы для продукта. У этих добавлений есть свои собственные страницы продуктов.

Как правило, когда пользователь нажимает на элемент добавления, он убирает их с главной страницы продукта на страницу продукта для добавления товара.

Вместо этого я хотел бы добавить загрузку информации о товаре в оверлей jQuery/CSS3 и сохранить их на главной странице продукта.

Я достиг этого с помощью jQuery.load - но корзина для покупок (Zen-Cart) имеет моментальный снимок истории, а функция jQuery.load имеет некоторые нежелательные эффекты. Кроме того, я бы предпочел загрузить информацию непосредственно из SQL с помощью PHP.

Я имел взгляд на это: http://www.w3schools.com/php/php_ajax_database.asp

и найти его, чтобы быть более чистым решением, чем jQuery.load.

Проблема, с которой я столкнулся, заключается в том, как PHP Get будет работать в такой среде. Например, два пользователя одновременно загружают информацию о добавлении элемента через файл getuser.php. Аналогично, один пользователь, получающий доступ к информации о двух добавлении элементов, просматривает несколько вкладок.

Выражаясь более простым -

Если user1 нажимает на оных по пункту, она проходит через переменную на основе оных по пункту выбран, т.е. Xmlhttp.open («GET», "getuser.php ? q = «+ str, true»)

, и если пользователь2 нажимает на другое добавление на элемент, он делает то же самое - но если предположить, что запрос пользователя2 немного позже, это перезапишет информацию, первоначально поставленную там запросом user1 - таким образом, чтобы пользователь дал неверную информацию1? Или он создаст несколько экземпляров файла и не будет мешать результатам обоих запросов, мешающих друг другу? Аналогично, что касается двух запросов от одного и того же пользователя одновременно с использованием двух вкладок браузера?

Я знаю, насколько это плохо звучит - но я не знаю, как лучше это слово мне так жаль :(

ответ

0

вы можете использовать $.get(url,data,response); в JQuery для достижения этой цели пример:

$('#product-list a').on('click',function(){ 
    var id = $(this).data('id');//if you put product id as attribute data 
    $.get('addtocart.php',{id: id},function(){ 
     $('#cart').load('cart.php'); //only your cart reload. not the page! 
    } 
    return false; 
} 
.

и в вашем addtocart.php

$id = $_GET['id'] 
//your query put here 

это только простой пример. не для использования в производстве. потому что в реальной жизни, вы должны относиться к безопасности.извините за мой плохой английский :)

получения дополнительной информации посетите:

+0

Спасибо - но я стараюсь, чтобы избежать использования JQuery. Я хочу использовать PHP Get - и в основном хочу, чтобы теперь, если второй запрос от другого клиента перезапишет первый запрос от другого клиента, если файл, на котором запущен PHP Get, запускается с раздельным интервалом на несколько секунд – StuyvesantBlue