спасибо, что посмотрели. У меня очень длинный список элементов, пользователи нажимают на изображение (знак плюса), чтобы добавить элемент в свой личный список. В тот момент, когда они нажимают +, он загружает «add-item.php? Itemid = *», который обрабатывает код ниже, а затем перенаправляет их в свой собственный список, я перенаправлял его обратно в глобальный список, но потом было неясно пользователю, если элемент был добавлен в их список. как бы я решил сделать все это, обновив базу данных, никуда не денусь, я думаю, javascript, но никогда не писал. Любая помощь будет блестящей! 🙂
<?php ini_set('display_errors', 'On'); error_reporting(E_ALL); $bucketlist=MYSQL_QUERY( "SELECT * FROM membersbuckets where userid = $userid AND bucketid = $bucketid") or die(mysql_error()); $bucketlist=mysql_fetch_array( $bucketlist ) ; if($bucketlist < 1) { mysql_query("INSERT INTO membersbuckets (memberbucketid, userid, bucketid, complete) VALUES ('', '$userid', '$bucketid', '0')"); echo "Adding item to your bucketlist..."; echo "<meta http-equiv='Refresh' content='2; URL=mybucketlist.php'/>"; } else { echo "This item is already on your list, redirecting you to your list"; echo "<meta http-equiv='Refresh' content='2; URL=mybucketlist.php'/>"; } ?>
Заранее спасибо! 🙂
Вам нужен AJAX, как и все из них. Поскольку вы никогда не писали ни одного javascript, вот полное руководство для вас –
Вместо <a href="add-item.php?itemid='.$itemId.'" > Add Item </a>
напишите <a onclick="addItemToUsersList('.$itemId.')" > Add </a>
Для использования AJAX используйте jquery, как предложил Angelo. Загрузите его и добавьте следующее
<script type="text/javascript" src="http://path/to/jquery-latest.min.js"></script> <script type="text/javasript"> function addItemToUsersList(itemId) { $.ajax({ 'url': 'path/to/add-item.php', 'type': 'GET', 'dataType': 'json', 'data': {itemid: itemId}, 'success': function(data) { if(data.status) { if(data.added) { $("span#success"+itemId).attr("innerHTML","Item added to your personal list"); } else { $("span#success"+itemId).attr("innerHTML","This item is already on your list"); } } }, 'beforeSend': function() { $("span#success"+itemId).attr("innerHTML","Adding item to your bucketlist..."); }, 'error': function(data) { // this is what happens if the request fails. $("span#success"+itemId).attr("innerHTML","An error occureed"); } }); } </script>
И, наконец, в вашем path/to/add-item.php
файл напишите код, чтобы добавить элементы. Параметр itemId
будет доступен здесь как $_GET['itemId']
. Ju st возвращает правильные значения состояния, используя json_encode –
if($bucketlist < 1) { mysql_query("INSERT INTO membersbuckets (memberbucketid, userid, bucketid, complete) VALUES ('', '$userid', '$_GET['itemId]', '0')"); return json_encode(array("status" => true, "added" => true)); } else { return json_encode(array("status" => true, "added" => false)); }
Вы достигнете этого с помощью JavaScript, используя что-то, называемое «AJAX». Асинхронный запрос JavaScript и XML позволяет JavaScript отправлять запрос на другую страницу и получать от нее результаты.
Поэтому, используя ajax, вы перейдете к URL-адресу, который хотите, а затем вы можете отобразить сообщение пользователю.
Я использую библиотеку jQuery, чтобы получить что-то подобное
$.ajax({ 'url': 'path/to/add-item.php', 'type': 'GET', 'dataType': 'json', 'data': {itemid: xx}, 'success': function(data) { // what happens if the request was completed properly }, 'error': function(data) { // what happens if the request fails. } });
Обратите внимание, что только потому, что запрос завершен правильно, не означает, что элемент был добавлен по мере необходимости.
Я бы предложил вам прочитать следующее, чтобы получить хорошее представление о том, как именно адаптировать это к вашим потребностям.
http://jquery.com/ были бы моими предложениями. Вам нужно будет выполнить некоторые вызовы AJAX на сервере, чтобы они взаимодействовали с вашей БД, а затем вернуть результат и отобразить эту информацию для пользователя. Я предпочитаю JQuery, поскольку он упрощает многие из этих вызовов, а документация для него довольно хорошая. Для основ существуют тонны учебников.
Простой поиск в Google показывает довольно много http://www.google.com/search?q=jquery+ajax+tutorial
Вы действительно можете использовать Javascript в своем проекте! Смотрите, потому что вы говорите, что не хотите перейти от текущей страницы и хотите дать небольшое сообщение на текущей странице с подтверждением пользователю. Тогда вам нужно использовать что-то, называемое AJAX-асинхронным Javascript и XML , Это добавление PHP и Javascript.
Использование AJAX u позволяет обновлять загруженную страницу без обновления. Здесь HTML не связывает или не запрашивает сервер, а его Javascript. Следовательно, вы можете достичь -> [как бы я хотел сделать все это обновление базы данных, не идя никуда].
И насколько это касается AJAX и Javascript, они очень простые! Просто нужно изучить базовый синтаксис из них, и den on u может пойти дальше !!!
ссылки u могут ссылаться на:
-> Самая лучшая книга для u для того чтобы соотвествовать –
Профессиональный Аякс Николас К. Закас, Джереми МакПак, Джо Фосетт