Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/46: Рейтинг темы: голосов - 46, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9

Задать значение PHP переменной по клику на определенный блок, картинку

31.03.2012, 22:16. Показов 8315. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Описываю ситуацию:
Есть вывод товаров на странице.
В каждом блоке товара кнопка КУПИТЬ.
Но это не кнопка формы, а блок DIV с картинкой в background "Купить"
При клике на который всплывает форма отправки заказа, при помощи JQuery

Задача. При клике на DIV блок "Купить" переменной php $ind надо присваивать значение id конкретного товара.
Надо чтобы при клике по соответственной кнопке в $ind заносился id именно того товара, по которому кликнули.

Естественно, БЕЗ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ.
Понятно, что формы и передача POST GET через них не канают.
Так как страница не должна перегружаться. А просто по клику даваться переменной php определенное значение (id).

С PHP и JQuery знаком примерно
Ajax - НЕ знаком вообще.

Подскажите как решить задачу.

Только не отправляйте учить весь Ajax, придет и его время. Надо решить конкретную задачу.
Помогите плиз практическим решением!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2012, 22:16
Ответы с готовыми решениями:

Как задать значение переменной, полученной из php?
Получаю данные из пхп через пост, как задать переменной значение полученного числа?

Вывод информации из бд php по клику на картинку
Есть база данных php. В ней содержатся картинки. Необходимо, чтобы выводилась информация из бд, когда мы кликаем на определенную...

Как задать значение сессию, чтобы значение было переменной из js?
Добрый день.как задать значение сессию,чтобы значение было переменной из js. Есть код success: function(html){ ...

17
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7
31.03.2012, 22:52
Цитата Сообщение от mayor777 Посмотреть сообщение
Только не отправляйте учить весь Ajax, придет и его время.
С середины выучить его не получится...

Если я правильно понял задачу, то есть у меня идейка, как решить задачу другим способом... Когда при клике на "Купить" всплывает форма (а, насколько я понял, переменная относится к этой форме), добавьте в нее скрытое поле с необходимым значением... И отправляйте этот ID (тоесть значение скрытого поля) вместе с формой...

Если не так, то придется учить AJAX... Если знакомы с PHP и JQuery, то выучить его для решения поставленой задачи будет не сложно и не долго... У меня это заняло несколько часов...
1
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
31.03.2012, 23:29  [ТС]
Не катит скрытое поле... На странице 10-20 товаров, а значит 20 разных id. Какой из них прикажете вставлять в скрытое поле??? Надо именно тот, на который кликнули...
На странице внутряке, где описание 1 го товара - я так и сделал, через скрытое поле. Проблема на странице каталога всех товаров...

Ну так если знаете Ajax, может поделитесь соображениями, как решить задачу на нем??

Я не программер по складу, чтобы аякс проглотить за пол дня... Туговат для таких подвигов. А сделать задачу хорошо бы за день-два. Андестунд? )))
0
74 / 63 / 0
Регистрация: 24.03.2012
Сообщений: 333
31.03.2012, 23:37
Цитата Сообщение от mayor777 Посмотреть сообщение
При клике на DIV блок "Купить" переменной php $ind надо присваивать значение id конкретного товара.
Можно, но бессмысленно. Вы не этого хотите.

Добавлено через 48 секунд
Цитата Сообщение от mayor777 Посмотреть сообщение
Не катит скрытое поле...
Катит. По щелчку на элементе вполне можно получить его id.
0
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
31.03.2012, 23:58  [ТС]
Цитата Сообщение от Кошковладельцев Посмотреть сообщение
Можно, но бессмысленно. Вы не этого хотите.
Чего я хочу, мне виднее )) Во всяком случае я вижу задачу и проблему так, как описал. Просветите, пожалуйста о своих соображениях...

Катит. По щелчку на элементе вполне можно получить его id.
Я рад, что реально... Но от этого не легче )))
А можно подробнее?? Каким образом по щелчку задать переменной php конкретное значение? Просветите
0
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7
01.04.2012, 00:08
Цитата Сообщение от mayor777 Посмотреть сообщение
Надо чтобы при клике по соответственной кнопке в $ind заносился id именно того товара, по которому кликнули.
Ну и откуда и как Вы его собираетесь брать?

Немного теории... Для практики я уже слишком сильно спать хочу Уже третье сутки почти не сплю...

Ajax используется для того, чтобы выполнить какой нибуть php скрипт (передавая и получая данные)... Другими словами, так-же, как и на php, но только без обновления страницы... Поэтому, ваша задача (так, как вы ее описали) не имеет решения... Даже если и присвоить переменной какое-то значение, то переменная будет уничтожена после завершения работы скрипта...

Видим следующее решение проблемы: либо хранить id в каком-то месте HTML разметки (как я говорил, в скрытом поле), либо вытаскивать его с других источников, но её придется обработать в скрипте... Поэтому вот алгоритм...

При выводе товаров (как я понял, это в цыкле), добавляем в какой нить тэг id этого товара (без разницы в какой, главное, чтобы после его можно было оттуда вытащить jquery... При клике на div (с помощью того-же jquery) в скрытое поле переносим этот id в форму заказа... Ну и отправляем скрипту вместе со всеми остальными данными...
1
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 00:15  [ТС]
Цитата Сообщение от Jallik Lich Посмотреть сообщение
Даже если и присвоить переменной какое-то значение, то переменная будет уничтожена после завершения работы скрипта...
Тут не соглашусь. Сессии еще никто не отменял, так что переменную можно запросто засейвить... Как мне кажется.

А в целом в этом алгоритме что-то есть. СПАСИБО! Завтра попробую реализовать. Отпишусь!
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 03:51
mayor777, Вы код покажите мы подскажем решения, я вижу как минимум 2 варианта, это без раздумий))) ну сначала хотелось бы удивить код.
0
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 10:16  [ТС]
Цитата Сообщение от boong Посмотреть сообщение
mayor777, Вы код покажите мы подскажем решения, я вижу как минимум 2 варианта, это без раздумий))) ну сначала хотелось бы удивить код.
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
do
{
 
printf ("<div class='tovbox'>
    <a href=\"tovar.php?id=%s\">
        <img src=\"images/mini/%s\" width=\"300px\" height=\"225px\" title=\"%s\" alt=\"%s\" align=\"left\" />
    </a>
    <div class=\"tovboxprice\">
        <div class=\"oldprice\">
            <p>Обычная цена</p>
            <p><span><strike>%s руб</strike></span></p>
        </div>
        <div class=\"newprice\">
            <p>Акционная цена</p>
            <p><span>%s руб</span></p>
        </div>
    </div>
    <div class=\"tovboxbut\">
        <div class=\"buybut\">
            <img src=\"images/buy.png\" width=\"164px\" height=\"46px\" title=\"Купить этот товар сейчас!\" alt=\"Купить\" align=\"left\" />
        </div>
        <a href=\"tovar.php?id=%s\">
            <img src=\"images/podrobnee.png\" width=\"164px\" height=\"46px\" title=\"Подробнее\" alt=\"Подробнее об этом товаре\" align=\"right\" />
        </a>
    </div>
</div>
 
",$myrow_tov["id"],$myrow_tov["mini_img"],$myrow_tov["name"],$myrow_tov["name"],$myrow_tov["old_price"],$myrow_tov["price"],$myrow_tov["id"]);
 
}
Вот тот do цикла, который выводит товары на страницу.

PHP Скопировано
1
2
3
<div class=\"buybut\">
            <img src=\"images/buy.png\" width=\"164px\" height=\"46px\" title=\"Купить этот товар сейчас!\" alt=\"Купить\" align=\"left\" />
        </div>
Вот, внутри него тот DIV, при нажатии на который надо ловить id товара.

Какой вам еще код дать?? Или по этому что-то ясно? )
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 14:33
каким образом Вы назначаете событие на кнопку? (код посмотреть)
JavaScript Скопировано
1
$(document).on('click', '.buybut', function(){...})
так?
0
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 14:45  [ТС]
Цитата Сообщение от boong Посмотреть сообщение
каким образом Вы назначаете событие на кнопку? (код посмотреть)
JavaScript Скопировано
1
$(document).on('click', '.buybut', function(){...})
так?
ТАК:

JavaScript Скопировано
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function(){
 
 
$('.buybut').click(function() {
 
$('.feedb').show();
 
});
 
 
});//Конец ready
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 14:51
как вариант сделать можно так...
HTML5 Скопировано
1
2
3
<div class=\"buybut\" id="buy-121"><!--121 -это id товара  -->
    <img src=\"https://www.cyberforum.ru/images/buy.png\" width=\"164px\" height=\"46px\" title=\"Купить этот товар сейчас!\" alt=\"Купить\" align=\"left\" />
</div>
JavaScript Скопировано
1
2
3
4
5
6
$(document).ready(function(){
    $('.buybut').click(function() {
        alert(this.id); // тут у нас будет пример buy-121, где 121 id товара, (int) можно получить без buy-
        $('.feedb').show();
    });
});/
1
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 15:16  [ТС]
Цитата Сообщение от boong Посмотреть сообщение
JavaScript Скопировано
1
2
3
4
5
6
$(document).ready(function(){
    $('.buybut').click(function() {
        alert(this.id); // тут у нас будет пример buy-121, где 121 id товара, (int) можно получить без buy-
        $('.feedb').show();
    });
});/

Спасибо. Тут я понял. id товара получу в JS.

Поясните, как этот ind поместить в переменную php, которая должна пойти в форму (как скрытое поле, например). ???
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 15:41
скрытое поле это не вариант, как у Вас устроено все товары помещаются в корзину потом производиться оплата, верно? можно сохранить массив в бд или сессию ..., в большинстве магазинов запись идет в бд используя XMLHttpRequest (ajax)
PHP Скопировано
1
$order_products = @serialize(array(...)); //массив вида array('id' => '1', 'id' => array(...тут могут быть особенности товара цвет, размер, количество...))
$order_products - содержит строку которую можно сохранить где угодно unserialize() преобразует обратно в массив
и после оплаты только помещать запись в таблицу оплаченных товаров.
1
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 16:52  [ТС]
Цитата Сообщение от boong Посмотреть сообщение
скрытое поле это не вариант, как у Вас устроено все товары помещаются в корзину потом производиться оплата, верно? можно сохранить массив в бд или сессию ..., в большинстве магазинов запись идет в бд используя XMLHttpRequest (ajax)
У меня все проще... Корзины НЕТ!!! Всплывает по клику форма. Вводят имя, емейл, телефон (+должен подхватываться id товара, который нажали) - и по нажатию эта телега отправляется на почту менеджеру + пишется в БД (в таблицу заказов).

Соответственно все реализовано. Только никак не могу вытащить id конкретного товара и заслать в форму.

Там по этому id вытаскивается название товара и его цена. Чтобы эти название и цену втулить в письмо админу и в таблицу заказов БД. (Товар крупный, большие купели, бочки для купания )) по 2-3 их никто не заказывает. Строго по одной. Так что корзина и прочие сложности мне не нужны...)

Добавлено через 26 минут
Цитата Сообщение от Jallik Lich Посмотреть сообщение
Поэтому вот алгоритм...
При выводе товаров (как я понял, это в цыкле), добавляем в какой нить тэг id этого товара (без разницы в какой, главное, чтобы после его можно было оттуда вытащить jquery... При клике на div (с помощью того-же jquery) в скрытое поле переносим этот id в форму заказа... Ну и отправляем скрипту вместе со всеми остальными данными...
Задача решена. ОГРОМНОЕ СПАСИБО ЗА АЛГОРИТМ!!! ))

Работает!
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 16:54
так можно записать id в сессию допустим, это нам позволит переходить по магазину и сохранять выбранные товары, можно еще записать в поле скрытое и получить как один id так и массив id выбранных товаров, пример для записи в форму можно сделать так...
HTML5 Скопировано
1
2
<input type="hidden" name="product[121]"/>
<input type="hidden" name="product[122]"/>
PHP Скопировано
1
$order_id = array_keys($_POST['product']); // тут id или несколько id только обязательно проверить на  integer
1
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 9
01.04.2012, 16:57  [ТС]
Цитата Сообщение от boong Посмотреть сообщение
так можно записать id в сессию допустим, это нам позволит переходить по магазину и сохранять выбранные товары, можно еще записать в поле скрытое и получить как один id так и массив id выбранных товаров, пример для записи в форму можно сделать так...
И Вам спасибо за участие.
Задача решена по алгоритму Jallik Lich. Обошелся без Аяксов и прочего...
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
01.04.2012, 16:58
не за что)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2012, 16:58
Помогаю со студенческими работами здесь

Как php переменной присвоить значение переменной javascript?
есть переменная php как ей присвоить значение переменной javascript?

Задать значение переменной в LD
Пишу в ЛАДе нужно в программе после каждого шага присвоить в переменную WM100 номер шага какой оператор это делает

Задать значение переменной x и вычислить значение
function y=zadanie1(x) y=x-e^-x*asin(e^x)-ln(1+(1-e^2*x).^(1/2)) end Выскакивает ошибка: ??? Undefined function or variable...

Присвоить значение php переменной из переменной JavaScript
Есть такой код: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;style type=&quot;text/css&quot;&gt; &lt;/style&gt; &lt;/head&gt; ...

Задать случайные значение переменной
Помогите, пожалуйста psi = e^(i*gamma)*(cos(tetta/2) + e^(i*phi)*sin(tetta/2)) Нужно, чтобы параметр tetta задавался случайным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи. Формулы от LM по моему решению пока не проверял. В итоговой её формуле видно её заблуждение.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер