Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 1
Регистрация: 26.02.2012
Сообщений: 42

Передать в ajax уникальное значение из PHP

27.06.2013, 18:21. Показов 2419. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пытаюсь сделать книжный интернет-магазин, встала проблема: цикл выводит на страницу список книг и кнопки, чтобы добавить книгу в корзину нажатием кнопки, которая появляется рядом с каждой книгой. Добавление происходит с помощью ajax. Вот отрывок кода php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
if ($result)
            {
                echo 'Получите список книг из категории <b>'.$category_name.'</b>! Поздравляем!<br>';
                for ($i=0; $i<$result->num_rows; $i++)
                {
                    $row = $result->fetch_object();
                    echo ''.$row->title.'';
                    //echo '<a href="show_cart.php?bookid='.$row->isbn.'">Добавить в корзину</a><br>';
                    echo '<input type="hidden" value='.$row->isbn.'><br>';
                    echo '<input type="submit" value="Добавить в корзину"><br>';
                }
            }
а вот ajax
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
        $(document).ready(function() {
            $('#myForm').submit(function() {
                $.ajax({
                    type: "POST",
                    url: "show_cart.php",
                    data: "bookid="+$("input:hidden").val(),
                    success: function() {
                        $("#content").html("Добавилось");
                    }
                });
                return false;
            });
        });
    </script>
Ключевые строчки здесь две:
PHP
1
echo '<input type="hidden" value='.$row->isbn.'><br>';
и
JavaScript
1
data: "bookid="+$("input:hidden").val(),
В скрытое поле мы записываем ISBN каждой книги. То есть каждое скрытое поле (допустим их 3 штуки) будет содержать свой уникальный ISBN, так как 3 разные книги. И это уникальное значение нужно передать в ajax. Но, к сожалению, передается только ISBN самой первой книги, которую вывел цикл. Как решить эту проблему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2013, 18:21
Ответы с готовыми решениями:

Через ajax в url:'ajax.php', нужно передать одну переменную, и значение radio кнопки
Как значение radio передать я разобрался, а вот как еще переменную со страницы кинуть в url: ajax.php Всем спасибо

Передать значение из ajax в php
Есть форма регистрации. Мне нужно проверить, существует ли пользователь с таким ником. Соответственно хочу получить значение из инпута,...

Передать значение переменной из PHP в JS Ajax
Добрый день, коллеги. Подскажите как передать значение переменной из php-файла в js другой страницы. Вот скрипт в index.html ...

4
284 / 283 / 73
Регистрация: 06.05.2013
Сообщений: 1,613
27.06.2013, 23:09
Цитата Сообщение от Tkas Посмотреть сообщение
Но, к сожалению, передается только ISBN самой первой книги, которую вывел цикл.
Потому что у тебя не указано какой именно ISBN передавать. Присвой, например, id для каждой книги
(насчёт ошибок не уверен, пишу по памяти)

PHP
1
2
echo '<input type="hidden" id="'.$i.'" value='.$row->isbn.'><br>';
echo '<input type="submit" onClick=add2basket('.$i.') value="Добавить в корзину"><br>';
А затем в скрипте уже добавляй нужную книгу

JavaScript
1
2
3
4
5
6
7
8
<script>
function add2basket(id) {
var myData=$("#"+id).val();
$.post("show_cart.php", {myData:myData}, function() {
$("#content").html("Добавилось");
});
}
</script>
в коде может ошибся где, но суть такая.
1
 Аватар для Franz Crawl
5 / 5 / 0
Регистрация: 22.09.2010
Сообщений: 104
27.06.2013, 23:30
@sMockingbird, спасибо за наводку! Суть понял, но вот в реализации есть ошибки, при нажатии происходит перезагрузка страницы.
PHP
1
2
3
4
5
6
7
8
9
10
11
if ($result)
            {
                echo 'Получите список книг из категории <b>'.$category_name.'</b>! Поздравляем!<br>';
                for ($i=0; $i<$result->num_rows; $i++)
                {
                    $row = $result->fetch_object();
                    echo ''.$row->title.'';
                    echo '<input type="hidden" id='.$i.' value='.$row->isbn.'><br>';
                    echo '<input type="submit" onClick=add2basket('.$i.') value="Добавить в корзину"><br>';
                }
            }
JavaScript
1
2
3
4
5
6
7
8
9
10
11
function add2basket(id) {
            $.ajax({
                type: "POST",
                url: "show_cart.php",
                data: "bookid="+$("#"+id).val(),
                success: function () {
                    $("#content").html("Добавилось");
                }
            });
            return false;
        }
Подправил функцию add2basket: страница show_cart.php ожидает из POST переменную bookid. Ее я добавил в функцию. Вроде все правильно, но ничего не добавляется...
0
284 / 283 / 73
Регистрация: 06.05.2013
Сообщений: 1,613
28.06.2013, 00:02
А библиотека jQuery подключена?
php принимает переменную?
0
 Аватар для Franz Crawl
5 / 5 / 0
Регистрация: 22.09.2010
Сообщений: 104
28.06.2013, 00:17
@sMockingbird, я нашел ошибку! После того, как я переделал код как вы мне подсказали - я забыл удалить <form id="myForm">, в который вкладывался весь этот код php! После удаления все заработало. Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2013, 00:17
Помогаю со студенческими работами здесь

Не получается передать значение из jquery и ajax в php
Нужно полученое значение из переменной n передать в php страницу $('.popup-open').click(function() { n=$(this).attr('value'); ...

Как передать массив из базы данных (передать массив из php в javascript методом ajax)
&lt;?php //php страница qwe.php для обработки ajax запроса require_once &quot;blocks/head.php&quot;; ...

Передать AJAX ответ в php
Добрый вечер программисты! Возникла такая ситуация: Необходимо послать AJAX запрос в формате JSON на сервер гугл матрица расстояний....

Передать переменную из php в ajax
Все привет,есть два скрипта php и ajax,находятся они не на одной странице,мне нужно передать значение переменой из php в ajax,как такое...

Как передать массив из php в ajax?
Перерыл все форумы, все говорят о передаче через JSON, но я понятия не имею как это работает. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru