X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Ajax. Создание и передача переменных.
mxwuser
mxwuser
Topic Starter сообщение 11.9.2010, 1:37; Ответить: mxwuser
Сообщение #1


Есть у меня страница с продуктами. На ней порядка 10 одинаковых квадратных DIVов. Дивы эти, выводятся циклом с данными из таблицы mysql.
Код:
[PHP]while($v_item = mysql_fetch_array($r_item, MYSQL_ASSOC))
{
echo "<div class='item'><a href='sale.php?it=".htmlspecialchars($v_item['href'])."'<img src='".htmlspecialchars($v_item['img'])."'></img>".htmlspecialchars($v_item['info'])".</div>";
}
[/PHP]
Тоесть логика примерно следующая была - загружается страничка, на нее с БД выводятся ДИВЫ в каждом из которого есть инфа, и при нажатии перезагружается страничка, с новыми гет переменным, при существовании которой, на странице в отдельном блоке появляется инфа о продукте.

Потом узнав об АДЖАКСе решил усовершенствовать страничку, и сделать все цивильно, без перезагрузки страницы. С помощью добрых людей, с горем пополам разобрался что к чему, написал простенький скрипт и наткнулся на проблему, даже проблемищу на мой взгляд.
А она вот в чем заключается: В коде выше, как можно увидеть, ссылка(с ГЕТ переменной) на которой должна выводиться инфа о продукте, выводиться через базу MYSQL, в виде гиперссылки.

А при использовании ajax, код будет точно такой же, только не будет иметь в себе этой самой гиперссылки, и будет заключен в селектор, при нажатии на который будет обновляться div с инфой. Вот собственно и нарисовалась проблема - ГЕТпеременной из БД нету, соответственно не возможно сделать загрузку уникальной инфы для каждого продукта. Можно ли как-то с этим разобраться, или единственный вариант, не использовать AJAX?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 11.9.2010, 5:39; Ответить: Alcorn
Сообщение #2


Проблема в ajax-запросе отправить идентификатор товара? Из php назначаете идентификаторы (<div id="идентификатор">) нужным дивам, img или что там у вас и при ajax-отправке с помощью js добавляете его значение в url-строку запроса.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mxwuser
mxwuser
Topic Starter сообщение 11.9.2010, 14:01; Ответить: mxwuser
Сообщение #3


(Alcorn @ 11.9.2010, 08:39) *
Проблема в ajax-запросе отправить идентификатор товара? Из php назначаете идентификаторы (<div id="идентификатор">) нужным дивам, img или что там у вас и при ajax-отправке с помощью js добавляете его значение в url-строку запроса.


Я немного не понял, не могли бы поподробнее. ID, для каждого я назчану, а дальше? Как измениться функция JS?

[PHP]<script language="JavaScript" type="text/javascript">
$(document).ready (function (){
$('SPAN').click(function() {
$.post('modules/view_menu.php', {number:'<?php echo $page; ?>'},
function (data){
$('#info').html(data.en);
}, 'json');
});
})
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 11.9.2010, 14:37; Ответить: Alcorn
Сообщение #4


Примерно так -
[PHP]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script>
function req() {
var request=false;
try {
request=new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request=new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request=new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request=false;
}
}
}
return request;
}
function ajax(url,x) {
var r=req();
if (!r) return;
r.open('POST',url,true);
r.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
r.onreadystatechange=function() {
if (r.readyState==4 && r.status==200) result(r.responseText);
}
r.send(x);
}

function result(x) {
alert(x);
}

</script>
</head>

<body>

<a id="s11" href="#" onclick="ajax('11.aspx','id='+this.id.slice(1));return false;">Товар 1</a>
<a id="s12" href="#" onclick="ajax('11.aspx','id='+this.id.slice(1));return false;">Товар 2</a>
<a id="s13" href="#" onclick="ajax('11.aspx','id='+this.id.slice(1));return false;">Товар 3</a>

</body>
</html>
[/PHP]
Только переделаете в jquery.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) как заслужить право на создание новой темы?
7 writer80 2207 12.3.2024, 22:54
автор: Lumex
Открытая тема (нет новых ответов) <Braga/> Создание Telegram-ботов, web-приложений, крипто-бирж, сайтов.
2 newbraga 1773 10.3.2024, 22:04
автор: newbraga
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3397 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Создание и ведение аккаунтов в соцсетях ("В контакте"/Telegram)
Услуги от профессионального журналиста и SMM-менеджера
2 AvtorXXX 1706 13.11.2023, 23:47
автор: AvtorXXX
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44900 19.7.2023, 10:03
автор: qpPeW


 



RSS Текстовая версия Сейчас: 19.4.2024, 5:03
Дизайн