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

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Описываю ситуацию:
Есть вывод товаров на странице.
В каждом блоке товара кнопка КУПИТЬ.
Но это не кнопка формы, а блок 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru