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 :: Проблеми UPDATE

 PHP.SU

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


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

> Описание: Немогу перезаписать строку в базе даних
like
Отправлено: 10 Марта, 2016 - 15:04:44
Post Id


Новичок


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


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




Здраствуйте! Работа скрипта заключается в том что при нажатии на кнопку(-)или(+) число должно на один прибавиться или отняться тоисть в БД нужно перезаписать указаноє число. Помогите увидеть ошибку. Может чтото недописал
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = $item["id"];//переменая работает и виводит номер id
  3. <input type="button" value="-" onClick="<?PHP minusTovar($id);?>">//кнопка (-)
  4. <?=$item["quantity"]?>//виведено число которим нужно манипулировать
  5. <input type="button" value="+" onClick="<?PHP plusTovar($id);?>">//кнопка (+)
  6.  


PHP:
скопировать код в буфер обмена
  1.  
  2. function plusTovar($id){//переменая $id здесь работает
  3.         global $a;//переменая запуск БД
  4.         $sql=mysqli_query($a, "UPDATE basket SET quantity=quantity+1 WHERE id=$id") or die (mysqli_error($a));
  5.         return $sql;
  6. }      
  7.  

Незнаю почему но в исходном коде onClick пустой, ето нормально?
PHP:
скопировать код в буфер обмена
  1. <input type="button" value="+" onClick="">
 
 Top
freelsd
Отправлено: 10 Марта, 2016 - 15:25:35
Post Id


Гость


Покинул форум
Сообщений всего: 108
Дата рег-ции: Февр. 2015  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="button" value="+" onClick="<?PHP plusTovar($id);?>">//кнопка (+)


У вас тут каша из php и javascript. Не будет php код так выполняться. Вам нужно либо сделать форму, либо с помощью ajax обращаться к странице со скриптом, который будет данные в бд вносить.

например так (могут быть мелкие неточности и ошибки, но суть такова):

PHP:
скопировать код в буфер обмена
  1. <form action="add.php" method="POST">
  2. <input type="hidden" name="id" value="<?PHP echo $item['id']; ?>">
  3. <input type="submit" name="addPlus" value="Add +">
  4. </form>
  5.  
  6. //а это код страницы add.php
  7.  
  8. <?PHP
  9.  
  10. if($_POST['addPlus']){
  11.    plusTovar($_POST['id']);
  12. }
  13.  
  14. function plusTovar($id){//переменая $id здесь работает
  15.         global $a;//переменая запуск БД
  16.         $sql=mysqli_query($a, "UPDATE basket SET quantity=quantity+1 WHERE id=$id") or die (mysqli_error($a));
  17.         return $sql;
  18. }      
  19.  
  20. ?>
 
 Top
like
Отправлено: 10 Марта, 2016 - 17:01:30
Post Id


Новичок


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


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




Спасибо но неподходит. javascript не использую потомучто еще з PHP неразобрался.а можно както по другому вот весь код (код частично бил скачан и модернезирован под себя)
PHP:
скопировать код в буфер обмена
  1. <form action="index.php?id=save_zakaz" method='post'>
  2. <table  width='100%' border>   
  3.         //здесь форми заполнения даних клиента
  4. </table>
  5. <table border="1" cellpadding="5" cellspacing="0" width="100%">
  6. <tr>
  7.         <th>N п/п</th>
  8.         <th>Фото</th>
  9.         <th>Артикул</th>
  10.         <th>колір</th>
  11.         <th>розмір</th>
  12.         <th>ціна опт</th>
  13.         <th>ціна</th>
  14.         <th>шт</th>
  15.         <th>Удалить</th>
  16. </tr>
  17. <?PHP
  18. $goods = myBasket();
  19. $i = 1; $sum = 0; $sumopt = 0;
  20. foreach($goods as $item){
  21.         $id = $item["id"];
  22. ?>
  23. <tr>
  24.         <td><?=$i?></td>
  25.         <td><img src="img/rizne/<?=$item["idtovar"]?>_m.jpg"/></td>
  26.         <td><?=$item["idtovar"]?></td>
  27.         <td><?=$item["color"]?></td>
  28.         <td><?=$item["big"]?></td>
  29.         <td><?=$item["cinaopt"]?></td>
  30.         <td><?=$item["cinaf"]?></td>           
  31.         <td>
  32.                 <input type="button" value="-" onClick="<?PHP minusTovar($id);?>">
  33.                 <?=$item["quantity"]?>
  34.                 <input type="button" value="+" onClick="<?PHP plusTovar($id);?>">
  35.         </td>          
  36.         <td><a href="func/delete_korzina.php?id=<?=$item["id"]?>">Удалить</a></td>
  37. </tr>
  38. <?PHP          
  39. $i++;
  40. $sum += $item["cinaf"]*$item["quantity"];
  41. $sumopt += $item["cinaopt"]*$item["quantity"];
  42. }//конец foreach
  43. ?>
  44.         <tr><td colspan='5'></td><td>Оптова</td><td>Роздрібна</td></tr>
  45.         <tr><td colspan='5'>Сума замовлення:</td><td><?=$sumopt?> грн.</td><td><?=$sum?> грн.</td></tr>
  46. </table>
  47. <table border width='100%'>
  48.         <tr>
  49.                 <td>Залишити коментар <br><textarea name='comento' cols='35' rows='5'></textarea></td>
  50.                 <td align='right'><input type='submit' value='Заказать'></td>
  51.         </tr>
  52. </table>
  53. </form>

а ето лежит в другом каталоге которий подключон к верхнему
PHP:
скопировать код в буфер обмена
  1. function plusTovar($id){
  2.         global $a;
  3.         $sql=mysqli_query($a, "UPDATE basket SET quantity=quantity+1 WHERE id=$id") or die (mysqli_error($a));
  4.         return $sql;
  5. }
тоесть етот код я написал правельно?
 
 Top
freelsd
Отправлено: 10 Марта, 2016 - 18:04:11
Post Id


Гость


Покинул форум
Сообщений всего: 108
Дата рег-ции: Февр. 2015  


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




По другому нельзя. PHP не вызывается из тела страницы как javascript. Вообщем вам почитать побольше нужно по этой теме: работа с бд и отправка данных из формы.
 
 Top
like
Отправлено: 10 Марта, 2016 - 20:15:34
Post Id


Новичок


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


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




Всетаки ваши савети дали мне подсказку. И вот что получилось
переписал ету строка
PHP:
скопировать код в буфер обмена
  1. <input type="button" value="+" onClick="<?PHP plusTovar($id);?>">

на ету
PHP:
скопировать код в буфер обмена
  1. <input type="button" value="+" name="plus" onClick="location.href='func/addshtuk.php?id=<?=$item["id"]?>'">

отправил в addshtuk.php
PHP:
скопировать код в буфер обмена
  1. $id =clearData($_GET["id"],"i");
  2. plusTovar($id);
  3. urlincoming();//перенаправление назад

и в принципе сработало.
Только почемута при нажатии на добавить +1 товар оно срабативает и плюсует для всех +1 товаров что есть в корзине ане для одного, а втом что нажал добавляет +2. Можно както исправить чтоби изменялось в одном товаре?
(Добавление)
Радость Ура! все получилось и работает.
в документе исправил на
PHP:
скопировать код в буфер обмена
  1. <input type="button" value="-" name="minus" onClick="location.href='func/addshtuk.php?id=<?=$item["id"]?>&znak=minus'">
  2. <?=$item["quantity"]?>
  3. <input type="button" value="+" name="plus" onClick="location.href='func/addshtuk.php?id=<?=$item["id"]?>&znak=plus'">

а в посилані на addshtuk.php
PHP:
скопировать код в буфер обмена
  1. $znak=clearData($_GET["znak"]);//фильтр даних
  2. $id =clearData($_GET["id"],"i");//фильтр даних
  3. if ($znak==plus){
  4. plusTovar($id);
  5. }else{
  6. minusTovar($id);
  7. }
  8. urlincoming();
 
 Top
freelsd
Отправлено: 10 Марта, 2016 - 20:42:19
Post Id


Гость


Покинул форум
Сообщений всего: 108
Дата рег-ции: Февр. 2015  


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




Поздравляю!
 
 Top
like
Отправлено: 11 Марта, 2016 - 20:28:45
Post Id


Новичок


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


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




Спасибо! Бой виигран но война з РНР продалжаеться Ниндзя
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB