Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вывод значений из бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ammiak
Отправлено: 04 Мая, 2011 - 09:50:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




здравствуйте, помогите разобраться: есть форма заказа:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="post" action="../php/script.php">
  3. <input id="good1" name="good1"  type="hidden" value="Товар1"><a href="#">Товар1</a></input>
  4. <input type="submit" id="subm1" class="basket" value="" title="Добавить в корзину"/><br>
  5.  
  6. <input id="good2" name="good2"  type="hidden" value="Товар2"><a href="#">Товар2</a></input>
  7. <input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" /><br>
  8.  
  9. <input id="good3" name="good3"  type="hidden" value="Товар3"><a href="#">Товар3</a></input>
  10. <input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" /><br>
  11.  
  12. <input id="good4" name="good4"  type="hidden" value="Товар4"><a href="#">Товар4</a></input>
  13. <input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" /><br>
  14.  
  15. <input id="good5" name="good5"  type="hidden" value="Товар5"><a href="#">Товар5</a></input>
  16. <input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" />
  17.  
  18. <span id="total"> </span>
  19. </form>
  20.  


затем немного ajax

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(function() {
  3. $('#total').slideUp();
  4. $(':submit').click(function(e) {
  5. e.preventDefault();
  6. ajax_sum();
  7. });
  8.  
  9. function ajax_sum() {
  10. $(':submit').each(function() {
  11. var a=$(this).prev().val();
  12. $.post('../php/script.php', {good2:a}, function(data) {
  13. if (data.length>0) {
  14. $('#total').html(data).show();
  15. }
  16. })
  17. });
  18. }
  19.  
  20. });
  21.  


скрипт обработки script.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. $good = $_POST['good2'];
  3.  
  4. $query = mysql_query("select type_good, price_good from goods where type_good LIKE '%$good%'");
  5.  
  6. $row = mysql_fetch_assoc($query);
  7. echo '<table><tr><td>'.$row['type_good'].'</td><td>'.$row['price_good'].'</td></tr></table>';
  8.  


При нажатии на кнопку "Добавить в корзину" значение инпута, соответствующего этой кнопке отправляется в бд, где есть столбцы type_good (название товара) и price_good (его цена). Если соответствие найдено, в <span id="total"> помещается название товара и цена.
У меня при нажатии на второй сабмит возвращается название и цена первого товара из списка а не второго, да и проверял дамп массива $row, выглядит так:
Цитата:

[type_good] => Товар1 [price_good] => цена


как добиться соответствия? заранее благодарю
 
 Top
Viper
Отправлено: 04 Мая, 2011 - 10:32:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Ну так у вас и не будет работать правильно. Вы же циклом проходитесь по всем элементам :submit и действие повешано на первый подходящий элемент.

CODE (javascript):
скопировать код в буфер обмена
  1. $(':submit').click(function(e){
  2.         ...
  3.         var obj = $(this);
  4.         ajax_sum(obj);
  5. });
  6.  
  7. function ajax_sum(elem) {
  8.         ...
  9.         var a = $(elem).prev().val();
  10.         ...
  11. }


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Ammiak
Отправлено: 04 Мая, 2011 - 11:48:46
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




переделал так, результат тот же (поправьте если что-то не так):

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(':submit').click(function(e) {
  3. e.preventDefault();
  4. var obj = $(this);
  5. ajax_sum(obj);
  6. });
  7.  
  8. function ajax_sum(elem) {
  9. $(':submit').each(function() {
  10. var a=$(elem).prev().val();
  11. $.post('../php/script.php', {good2:sd}, function(data) {
  12. if (data.length>0) {
  13. $('#total').html(data).show();
  14. }
  15. })
  16. });
  17. }
  18.  

(Добавление)
По-моему, аякс здесь ни при чём, пробовал без него:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="post" action="../php/script.php">
  3. <input id="good1" name="good1"  type="hidden" value="Товар1"><a href="#">Товар1</a></input>
  4. <input type="submit" id="subm1" class="basket" value="" title="Добавить в корзину"/><br>
  5.  
  6. <input id="good2" name="good2"  type="hidden" value="Товар2"><a href="#">Товар2</a></input>
  7. <input type="submit" id="subm2" class="basket" value="" title="Добавить в корзину" /><br>
  8.  


PHP:
скопировать код в буфер обмена
  1.  
  2. $good = $_POST['good2'];
  3.  
  4. $query = mysql_query("select type_good, price_good from goods where type_good LIKE '%$good%'");
  5.  
  6. $row = mysql_fetch_assoc($query);
  7. print_r($row);
  8.  


Всё равно в итоге:

Цитата:

[type_good] => Товар1 [price_good] => цена
 
 Top
Viper
Отправлено: 04 Мая, 2011 - 14:31:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Ammiak что вы исправили? Зачем вам each? Потрудитесь API прочитать внимательно.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB